我已经重建了我的网络地图,现在我似乎无法让我的嵌套模型工作。它设置为 IDF => Switch(每个 IDF 有许多开关)。我试图能够列出 IDF 的开关,但出现以下错误:
Mysql2::Error:'where 子句'中的未知列'switches.idf_id':SELECT switches
.* FROM switches
WHERE switches
。idf_id
= 1
我假设由于某种原因,当为交换机构建 mysql 表时,没有将其映射到交换机 ID 的列。我不知道为什么不是。我已经编辑了模型并重新编写了几次项目,但我不知道缺少什么。任何帮助将非常感激!
应用程序/模型/idf.rb:
class Idf < ActiveRecord::Base
attr_accessible :location, :room_number
has_many :switches
accepts_nested_attributes_for :switches
end
应用程序/模型/switch.rb:
class Switch < ActiveRecord::Base
attr_accessible :model, :title
belongs_to :idf
end
应用程序/视图/idfs/show.html.erb:
<p id="notice"><%= notice %></p>
<p>
<b>Location:</b>
<%= @idf.location %>
</p>
<p>
<b>Room number:</b>
<%= @idf.room_number %>
</p>
<h2>Switches:</h2>
<%= render @idf.switches %>
<h2>Add a switch:</h2>
<%= render "switches/form" %>
<%= link_to 'Edit', edit_idf_path(@idf) %> |
<%= link_to 'Back', idfs_path %>
^^在我尝试添加开关功能之前一切正常。