【问题标题】:Ruby on Rails: Retrieve id of selection made in f.selectRuby on Rails:检索 f.select 中选择的 id
【发布时间】:2010-12-07 16:06:25
【问题描述】:

我有一个预定义的选择列表,我想获取列表中所选项目的 ID。

我的选择列表如下:

类型: "选择类型"}, {:onChange => "ShowTypeForm(this.value)"} ) %>

我想知道的是如何在 ruby​​ on rails 中检索所做选择的 id

非常感谢

【问题讨论】:

  • 你想在 rails 还是 js 中选择 select id?
  • 我不确定我理解您所说的“所做选择的 id”是什么意思。你说的是 DOM 元素的 id 还是 Rails 对象的 id?
  • 假设在下拉列表中选择“Type3”,我希望能够获取与“Type3”关联的 id 't3' 并将其存储在 RoR 中的会话变量中

标签: ruby-on-rails


【解决方案1】:

如果这是表单的一部分,它将使用提供的名称发送。在这种情况下,它看起来是您命名为 SUB_TYPE 的参数,但请确保在提交时检查您的开发日志。每个请求的 params 哈希都在此处列出。

当您在表单上进行此操作时,表单将有一个正在更新的对象,因此参数围绕该对象进行分组。

这可能很简单:

# :example refers to the object the form was built around
selection_id = params[:example][:SUB_TYPE]

【讨论】:

  • 谢谢,但问题是我希望能够在提交表单之前将当前选择的选项存储在会话变量中。
  • 我的页面上有一个链接,它将用户重定向到另一个页面,他可以在其中选择其他内容。当用户返回原始表单时,下拉列表中的选定值将丢失。所以我想在用户导航到另一个页面之前在会话中保留该值
  • 我想做 (this.value) %> ,其中 (this.value) 表示在提交表单之前所做的当前选择.但我不知道如何用 ruby​​ 中的一些代码替换“this.value”来检索当前选择
  • 另外,我想知道刷新页面时如何保留上面f.select中的值
  • @Kum 您的请求没有任何意义。在您提交表单之前,Rails 服务器不知道您对表单做了什么。当你提交它时,只需使用params - 这就是它的用途。
猜你喜欢
  • 2011-06-19
  • 2011-06-30
  • 1970-01-01
  • 1970-01-01
  • 2018-06-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-04
  • 1970-01-01
相关资源
最近更新 更多