ネットワークマップを再構築しましたが、ネストされたモデルを機能させることができないようです。IDF =>スイッチとして設定されます(各IDFには多くのスイッチがあります)。IDFのスイッチを一覧表示できるようにしようとしていますが、次のエラーが発生します。
Mysql2 :: Error:不明な列'switches.idf_id' in'where句':SELECT switches
。* switches
FROMWHERE switches
。idf_id
= 1
何らかの理由で、スイッチ用にmysqlテーブルが作成されたときに、スイッチIDにマップするための列が作成されていないと思います。なぜそうではないのか分かりません。モデルを編集してプロジェクトを数回再レーキしましたが、何が欠けているのかわかりません。どんな助けでも大歓迎です!
app / models / idf.rb:
class Idf < ActiveRecord::Base
attr_accessible :location, :room_number
has_many :switches
accepts_nested_attributes_for :switches
end
app / models / switch.rb:
class Switch < ActiveRecord::Base
attr_accessible :model, :title
belongs_to :idf
end
app / views / 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 %>
^^スイッチ機能を追加しようとするまで、すべてが正常に機能しました。