Ruby on rails 字段为且已通过多个字段
我有这些模型:Ruby on rails 字段为且已通过多个字段,ruby-on-rails,has-many-through,fields-for,Ruby On Rails,Has Many Through,Fields For,我有这些模型: class Order < ActiveRecord::Base has_many :order_lines has_many :prizes, :through => :order_lines accepts_nested_attributes_for :order_lines end class Prize < ActiveRecord::Base has_many :order_lines end class OrderLine &
class Order < ActiveRecord::Base
has_many :order_lines
has_many :prizes, :through => :order_lines
accepts_nested_attributes_for :order_lines
end
class Prize < ActiveRecord::Base
has_many :order_lines
end
class OrderLine < ActiveRecord::Base
belongs_to :order
belongs_to :prize
end
我想在订单中有一个嵌套的表单,显示每个奖品,旁边有一个文本框,用户可以在其中输入物品,例如订单金额。提交表单时,创建操作应相应地创建订单行。我到处都找不到解决办法 首先,在订单模型中,使用accepts\u嵌套的\u属性\u作为:奖品,而不是您拥有的 之后很容易,只需在视图中添加一个表单,就不需要额外的步骤控制器了
<%= form_for @order do |order_form| %>
..
<%= order_form.fields_for :prizes do |prizes_form| %>
<%= prizes_form.text_field :piece %>
..
<% end %>
..
<% end %>
这是直接从文件 谢谢你的回复。进行此操作时,字段_不会遍历奖品。块中的代码根本不运行。代码正常运行,但可能不会显示任何内容,因为订单中没有任何奖励。如果要在订单表单中编辑和实例化奖品,应在控制器中添加@order.prives.build。查看更多信息,如果我执行@order.prices.build,我得到的只是块中的一个空奖品实例。只有在我有一对多协会的情况下,链接到RailsCasts才适用。这里的情况并非如此:-