我一直在搜索stackoverflow近2个小时,现在经历类似的问题,但答案似乎不起作用.
我有以下代码:
<%= select_tag "name_dropdown", options_from_collection_for_select(@models, "friendly_id", "name") %>
Run Code Online (Sandbox Code Playgroud)
我想显示我之前选择的选项,而不是默认情况下转到第一个标签.
在其他问题中,他们建议添加以下内容(它们都不起作用).
<%= select_tag "name_dropdown", options_from_collection_for_select(@models, "friendly_id", "name", "1") %>
Run Code Online (Sandbox Code Playgroud)
要么:
<%= select_tag "name_dropdown", options_from_collection_for_select(@models, "friendly_id", "name", @models.first.id) %>
Run Code Online (Sandbox Code Playgroud)
PS.我正在使用Rails 3.1.RC4
Dyl*_*kow 27
假设除了@models包含完整列表的那个,你还有@model包含当前记录的那个,那么你可以做以下事情:
<%=
select_tag "name_dropdown",
options_from_collection_for_select(@models, "friendly_id", "name", @model.id)
%>
Run Code Online (Sandbox Code Playgroud)
基本上,第四个参数options_from_collection_for_select(...)应该包含您要选择的项目的ID.您的第二个代码示例每次强制所选的id为1,并且您发布的第三个样本始终使@models所选的第一个项目,无论当前选择的实际模型如何.
| 归档时间: |
|
| 查看次数: |
15658 次 |
| 最近记录: |