多くのフィールドを持つ 1 つの大きなフォームを取得しました。複数のselect_tag
フィールドがあります。
-(0..2).to_a.each do |id|
= select_tag('product[category_ids][]', options_from_collection_for_select(Category.all, :id, :name), :prompt=> '-- Select a Category --')
問題:送信時にフォームが拒否された場合、:new アクションは、以前に選択された select_tags の値を記憶していません。
他のすべてのフィールドは送信後に再表示されますが ( :title
、 など:description
)、categories_id
失われます。
考えられる解決策:select_tag
メソッドのにデフォルトの選択を追加する必要がありますoptions_from_collection_for_select
。category_id
その値を取得する方法は?前のフォームのフィールドにアクセスするにはどうすればよいでしょうか?
options_from_collection_for_select(Category.ordered, :id, :name, category_id)