不知道我在这里做错了什么。但我正在尝试创建一个包含多个模型的表单。我已经阅读了它,它看起来很简单,但是我无法让子模型的字段在表单上呈现。据我了解解决方案,我必须将以下内容放入模型中
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 次。
我错过了什么?