我在Rails 3.2.14中使用了一个select帮助器标签:
<%= f.label :male, 'Gender' %>
<%= f.select :male, [['Girl', 0], ['Boy', 1]] %>
Girl
和Boy
菜单项会显示在下拉菜单中,但即使数据库中的Boy
设置为male
,也永远不会选择1
}。 male
实际上是boolean
中的schema.rb
值。
如果f.select
为Boy
,如何让male
代码自动选择true
。
答案 0 :(得分:0)
实际上你需要调用options_for_select
,这是你可以定义选择哪个选项的地方。例如:
options = options_for_select [['Girl', 0], ['Boy', 1]], 1
f.select :male, options
将输出选择标签,其选项和男孩将被选中。
-
您还可以查看最初设计用于记录集合的options_from_collection_for_select
,例如:
options_from_collection_for_select @users, :id, :name
生成id
为值,name
为文本的选项。 options_from_collection_for_select
基本上可以在任何地方使用
coll = %w[cheese garlic]
options_from_collection_for_select coll, :to_s, :humanize
也会起作用
答案 1 :(得分:0)