ruby-on-rails - 如何在 select_tag/options_from_collection_for_select 中设置 "selected"

标签 ruby-on-rails

我已经在 stackoverflow 上搜索了将近 2 个小时,现在正在解决类似的问题,但答案似乎不起作用。

我有以下代码:

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

我想显示我之前选择的选项,而不是默认转到第一个标签。

在其他问题中,他们建议添加以下内容(均无效)。
<%= select_tag "name_dropdown", options_from_collection_for_select(@models, "friendly_id", "name", "1") %>

或者:
<%= select_tag "name_dropdown", options_from_collection_for_select(@models, "friendly_id", "name", @models.first.id) %>

附:我正在使用 Rails 3.1.RC4

最佳答案

假设除了你的 @models其中包含完整列表,您还有 @model其中包含当前记录,那么您可以执行以下操作:

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

基本上,第四个参数为options_from_collection_for_select(...)应包含您要选择的项目的 id。您的第二个代码示例每次都将所选 id 强制为 1,您发布的第三个示例始终是 @models 中的第一项。无论当前选择的实际型号如何。

关于ruby-on-rails - 如何在 select_tag/options_from_collection_for_select 中设置 "selected",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720370/

相关文章:

ruby-on-rails - 如何在 Rails 6 中请求自定义 JS 文件

ruby-on-rails - :destroy method not working in a Rails 3. 1.0 rc2 应用程序?

ruby-on-rails - 获取特定参数的值 - Rails

ruby-on-rails - 删除 Postgres 列数据的最有效、最安全的方法

ruby-on-rails - 为什么要将 Assets 直接上传到 S3?

ruby-on-rails - Rails ActionController::BadRequest 在生产服务器上导致 500 服务器错误

ruby-on-rails - 如何配置类似 WordPress 的永久链接?

ruby-on-rails - 通过代理运行 Web 请求时如何设置 use_ssl 参数?

ruby-on-rails - 如何阅读Rails示例项目的源代码?

ruby-on-rails - Rails 5 找不到模板错误