複雑なモデルに基づくフォームがあり、複数のオブジェクトをパラメーターに含めたいと考えています。
私のセットアップ:
Network.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]"