我得到了一个包含许多字段的大表格。有多个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)