ruby-on-rails – 如何在select_tag / options_from_collection_for_select中设置“selected”

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在select_tag / options_from_collection_for_select中设置“selected”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在搜索stackoverflow几乎2个小时,现在经历类似的问题,但答案似乎不起作用.

我有以下代码

<%= select_tag "name_dropdown",options_from_collection_for_select(@models,"friendly_id","name") %>

我想显示我之前选择的选项,而不是默认进入第一个标签.

在其他问题中,他们建议添加以下内容(其中没有一个).

<%= select_tag "name_dropdown","name","1") %>

要么:

<%= select_tag "name_dropdown",@models.first.id) %>

PS.我使用的是Rails 3.1.RC4

解决方法

假设除了包含完整列表的@model之外,还有一个包含当前记录的@model,那么可以执行以下操作:
<%= 
  select_tag "name_dropdown",@model.id) 
%>

基本上,options_from_collection_for_select(…)的第四个参数应包含要选择的项目的ID.您的第二个代码示例强制每次选择的ID为1,并且您发布的第三个样本总是使所选的@models中的第一个项目,无论当前选择的实际模型如何.

猜你在找的Ruby相关文章