Ruby on rails 如何将UI控件值作为参数传递给Rails中的控制器?

Ruby on rails 如何将UI控件值作为参数传递给Rails中的控制器?,ruby-on-rails,parameters,link-to,Ruby On Rails,Parameters,Link To,我遇到了在Rails中传递参数的问题 我有一个名为“account”的对象和另一个名为“locale”的对象。它们之间存在一对多的关系。一个区域设置可以映射到多个帐户 在accounts/index.html.erb上,我有一个下拉列表,其中列出了所有可用的区域设置。 我在下面有一个链接 预期,当我单击此链接时,将调用account controller的index方法,并传递所选区域设置id的值。index方法将检索属于该区域设置的所有帐户 阻碍我的是,我不知道如何将下拉列表的选定值传递给控制

我遇到了在Rails中传递参数的问题

我有一个名为“account”的对象和另一个名为“locale”的对象。它们之间存在一对多的关系。一个区域设置可以映射到多个帐户

在accounts/index.html.erb上,我有一个下拉列表,其中列出了所有可用的区域设置。 我在下面有一个链接

预期,当我单击此链接时,将调用account controller的index方法,并传递所选区域设置id的值。index方法将检索属于该区域设置的所有帐户

阻碍我的是,我不知道如何将下拉列表的选定值传递给控制器

我只知道传递参数的基本方式是:

<%= link_to 'Refresh', {:action => 'index', :fromvar => 'refresh', :selected_locale_id => '1'}.
但这是固定值的情况。如何处理动态UI控件值作为我的案例

link_是否支持一些要嵌入的javascript

我的rails版本是3.2.13


有人对此有想法吗?

您可以将其作为表单或链接onclick事件中的javascript来执行。我推荐一张表格

以下内容将帮助您开始:

<%= form_for :index do |form| %>
  <%= form.select :locale_id, Locale.all %>
  <%= form.submit %>
<% end %>


请确保在索引操作中添加
post
路由,以允许表单提交。

感谢您的回复。但我不太明白如何向索引操作添加post路由以允许表单提交。我在routes.rb中只有“resources:locales”和“resources:accounts”。我应该在这个文件中申请任何更改吗?
<%= form_for :index do |form| %>
  <%= form.select :locale_id, Locale.all %>
  <%= form.submit %>
<% end %>