Rails的选择标记助手没有选择现有值

时间:2013-07-26 10:14:00

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

我在Rails 3.2.14中使用了一个select帮助器标签:

<%= f.label :male, 'Gender' %>
<%= f.select :male, [['Girl', 0], ['Boy', 1]]  %>

GirlBoy菜单项会显示在下拉菜单中,但即使数据库中的Boy设置为male,也永远不会选择1 }。 male实际上是boolean中的schema.rb值。

如果f.selectBoy,如何让male代码自动选择true

2 个答案:

答案 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)

试试这个,

     f.object.male%&gt;

从此stackoverflow question

获取更多选项