如何将UI控件值作为参数传递给Rails中的Controller?

时间:2013-05-23 09:29:36

标签: ruby-on-rails parameters link-to

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

我有一个名为'account'的对象和另一个名为'locale'的对象。他们之间有一对多的关系。可以使用多个帐户映射一个区域设置。

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

在期望中,当我点击此链接时,将调用帐户控制器的索引方法,并传递所选语言环境ID的值。索引方法将检索属于该语言环境的所有帐户。

阻止我的是我不知道如何将选定的下拉值传递给控制器​​。

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

<%= link_to 'Refresh', {:action => 'index', :fromvar => 'refresh', :selected_locale_id => '1'}.

从控制器,我们可以通过以下方式获得:

params[:selected_locale_id]

但这是一个固定值的情况。如何处理动态UI控件值作为我的情况?

link_to是否支持嵌入一些javascript?

我的rails版本是3.2.13。

有人对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

您可以将此作为表单执行,也可以在链接的onclick事件中执行此操作。我会推荐一个表格。

以下内容可以帮助您入门:

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

请务必在索引操作中添加post路由,以便提交表单。