http://kzy52.com/entry/2013/07/10/200144
こういうのを参照してaccepts_nested_attributes_forとfields_forというのを勉強してます。
Micropost -> catagoryモデルがあるとして
micropostモデルの設定に以下の設定を追加して
app/models/micropost.rb has_many :categories accepts_nested_attributes_for :categories
micropostのview設定を以下のようにしました。
<%= form_for(@micropost) do |f| %> 省略 <%= f.fields_for :categories do |w | %> <%= w.text_field :content %> <% end %> <% end %>
この状態でブラウザのソースを確認すると
<input type="text" name="micropost[category][content]" id="micropost_category_content" />
のようなのが作られました。
ここで質問ですが、二つのカテゴリを追加したい時一つのcategory配列で受け取るために以下のようにフォームがなって欲しいですが、
<input type="text" name="micropost[category][0][content]" id="micropost_category_0_content" /> <input type="text" name="micropost[category][1][content]" id="micropost_category_1_content" />
fields_forでどうやっつて配列番号をつけられるかよくわかりませんでした。
多分概念的にform_forと同じ挙動だと思いますが、fields_forで配列番号をつける方法がありましたらおしえていただけますか?
あなたの回答
tips
プレビュー