Rails erb表单助手options_for_select:selected

30

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

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

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


1
+1 因为提出了与马有关的评论,这正是我正在处理的问题。 :) - Scott
2个回答

71
在您的代码中,options_for_select() 调用将选定值设置为 "gender" ,不尝试使用来自表单对象的值。请参阅 options_for_select() 的文档以获取使用示例。
options_for_select(['Mare', 'Stallion', 'Gelding'], f.object.gender)
options_for_select(['Mare', 'Stallion', 'Gelding'], :selected => f.object.gender)

或者,你可以这样做, 这将已经使用 gender() 值作为表单对象:

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

5
顺便提一下,如果你使用:include_blank => true,即使表单“知道”选了什么,它也会将当前选择设置为空白。

即使通过 :include_blank => true 添加了这个选项,也可以通过 :selected => f.object.gender 来实现。 - Gagan Gami

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接