ここで何が間違っているのかわかりません。しかし、複数のモデルを含むフォームを作成しようとしています。私はそれを読みましたが、それは簡単に思えますが、子モデルのフィールドをフォームにレンダリングすることができません。解決策を理解しているので、モデルに以下を入れなければなりません
class Message < ActiveRecord::Base
#parent model
attr_accessible :duns, :ord
has_many :po_recommits
accepts_nested_attributes_for :po_recommits
end
class PoRecommit < ActiveRecord::Base
#child model
attr_accessible :comment, :detail_reason_code, :pid, :po, :qty,
belongs_to :message, :dependent => :destroy
end
以下を親コントローラーに入れ、プレースホルダーを作成します
def new
@message = Message.new
5.times { @message.po_recommits.build }
end
最後に fields_for ヘルパーをビューに追加します
<%= form_for @message do |f| %>
<%= f.label :org %><%= f.text_field :org %>
<% f.fields_for :po_recommits do |builder| %>
<%= builder.label :po %><%= builder.text_field :po %>
<% end %>
<%= f.submit %>
<% end %>
このコードはエラーをスローしませんが:po
、フォームのフィールドをレンダリングしません。これは、ブロックが0回実行されているためだと思います。
私は何が欠けていますか?