rails erb form helper options_for_select:selected

时间:2013-10-01 15:53:27

标签: ruby-on-rails ruby ruby-on-rails-3 selected form-helpers

我在erb中有一个编辑表单。

<%= form_for @animal do |f| %>

在代码中,我有一个带选项的选项:

<%= f.select :gender, options_for_select([['Mare'], ['Stallion'], ['Gelding']], :selected => :gender) %>

但是,选择未显示正确的选定值。 我能做错什么? 如果我对它进行硬编码,我可以让它工作,但当然这不是一个可行的选择。

2 个答案:

答案 0 :(得分:60)

在您的代码中,您的options_for_select()调用会将所选值设置为“性别”,并且不会尝试使用表单对象中的值。

有关使用示例,请参阅options_for_select()的文档。

options_for_select(['Mare', 'Stallion', 'Gelding'], f.object.gender)
options_for_select(['Mare', 'Stallion', 'Gelding'], :selected => f.object.gender)

或者,you can do this,它已经使用了表单对象的gender()值:

<%= f.select :gender, ['Mare', 'Stallion', 'Gelding'] %>

答案 1 :(得分:5)

顺便说一句,如果您使用:include_blank => true,即使表单“知道”所选内容,也会将当前选择设置为空白。