嵌套窗体不显示任务
问题描述:
我最近跟着Ryan Bates关于嵌套窗体的教程,并做了基本相同的事情,他只是与其他名称。我想在订单中嵌套任务,并且我想为每个包裹创建一个任务,并且用户应该在表单中添加一个计数。嵌套窗体不显示任务
所以我的控制器看起来像这样
def new
@order = Order.new
@buns = Bun.all
@buns.each do |bun|
@order.assignments.build(:bun_id => bun.id)
end
end
而且_form部分看起来像这样
<%= form_for(@order) do |f| %>
<div class="field">
<%= f.label :user_id %><br />
<%= f.number_field :user_id %>
</div>
<div id="assignments" class="field">
<% f.fields_for :assignments do |builder| %>
<div id="assignment" class="field">
<%= builder.label :count, "Anzahl" %>
<%= builder.text_field :count %>
<%= builder.object.bun_id %>
<% end %>
</div>
</div>
<div class="field">
<%= f.label :due_to %><br />
<%= f.datetime_select :due_to %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
的订购模式有这部分
has_many :assignments
has_one :user
accepts_nested_attributes_for :assignments
而且分配模型这一块:
attr_accessible :bun_id, :order_id, :count
belongs_to :bun
belongs_to :order
当我把任务记录下来的时候,所有这些都应该被构建,那么为什么不是这些域被渲染?
感谢您的帮助!
答
你在你的ERB缺少等号(=):
<%= f.fields_for :assignments do |builder| %>
哎呀,该死的,非常感谢! –