我有一个复杂的模型支持表单,并希望将多个对象包含到我的参数中。
我的设置:
网络.rb
class Network < ActiveRecord::Base # t.string "name"
has_many :trackings
has_many :installations, through: :trackings
end
安装.rb
class Installation < ActiveRecord::Base # t.string "name"
has_many :trackings
has_many :networks, through: :trackings
end
跟踪.rb
class Tracking < ActiveRecord::Base # t.string "code
belongs_to :network # t.integer "network_id",
belongs_to :installation # t.integer "installation_id
end
当我创建一个新的跟踪对象时,我想渲染数据库中的每个网络并为 :code 添加一个文本字段
我的表格:
= form_for [:admin, @tracking] do |f|
= f.select :installation_id, options_for_select(Installation.all.map { |i| [i.name, i.id] }), prompt: "Select an Installation"
- Network.all.each do |network|
= f.text_field :code
= f.submit
目前所有文本字段都被渲染但是当我提交时,只有最后一个文本字段的最后一个输入进入我的参数。我怎样才能包括所有这些?
对于非模型支持的表单,我发现了这个,但它不适用于我的表单:
= text_field_tag "tracking[][code]"