我有一个标准的 Rails 控制器,我想编辑它并能够保持当前选项列表处于选中状态。
所以我有一个用户填写的表格。
示例:名称(文本字段)和状态(选项列表)
当用户单击编辑按钮时,它会转到生成的编辑页面。用户先前已经选择了名称和状态。名称文本字段返回填充,但状态默认为列表中的第一个。
如何在控制器中获取我的编辑方法以将用户选择的状态传递给编辑视图页面?
我有一个标准的 Rails 控制器,我想编辑它并能够保持当前选项列表处于选中状态。
所以我有一个用户填写的表格。
示例:名称(文本字段)和状态(选项列表)
当用户单击编辑按钮时,它会转到生成的编辑页面。用户先前已经选择了名称和状态。名称文本字段返回填充,但状态默认为列表中的第一个。
如何在控制器中获取我的编辑方法以将用户选择的状态传递给编辑视图页面?
我不确定您是如何定义选项列表的,但使用options_from_collection_for_select并将 proc 传递给它以有条件地选择您的选项将起作用。
您可能无法批量分配与状态下拉列表关联的字段。确保在模型中正确设置了该属性,否则在使用 、或等attr_accessible
方法时,您将忽略该属性分配。new
create
attributes=
update_attributes
如果不是这种情况,那么您的选项中的字符串键和模型中的整数值之间可能存在冲突。请记住,这2
不是一回事,"2"
因此您应该确定下拉菜单的键与相关类型匹配。
这应该做的工作
<%= f.select :project_id, @list, :selected => "user_selected_value"] %>