使用简单表格和HAML添加带有选项和默认值的选择框的最佳方法是什么?
这是我的_form.html.haml
内容,f.option
无效。
= simple_form_for @post do |f|
= f.input :title
= f.input :body
= f.label :category_id
= f.select :category_id, Category.all.map{|category| [category.name, category.id]}
= f.option{value: "undefined"}
%br
= f.button :submit
任何帮助将不胜感激:)
答案 0 :(得分:1)
def get_select_data
data = Category.all.map{ |category| [category.name, category.id] }
data.push([.....])
end
可能将其放入服务模型中。在控制器中初始化模型,并在视图中使用它:
= f.select :category_id, @service_model.get_select_data
也许这对你来说是一个好的开始
答案 1 :(得分:1)
定义选择和默认值的正确方法是:
= f.input :category_id, collection: Category.all.map{|category| [category.name, category.id]}, selected: 1
selected
属性设置默认项的ID。
您可以在此处找到有关选择的更多信息:https://github.com/plataformatec/simple_form#collections