0

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

我有一个名为“帐户”的对象和另一个名为“语言环境”的对象。它们之间是一对多的关系。一个语言环境可以映射到多个帐户。

在 accounts/index.html.erb 上,我有一个下拉列表,其中将列出所有可用的语言环境。我在下面有一个链接。

预期当我点击这个链接时,会调用帐户控制器的 index 方法,并传递所选语言环境 id 的值。index 方法将检索属于该语言环境的所有帐户。

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

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

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

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

params[:selected_locale_id]

但它是固定值的情况。以我为例,如何处理动态 UI 控件值?

link_to 是否支持嵌入一些 javascript?

我的 Rails 版本是 3.2.13。

有人对此有想法吗?

4

1 回答 1

0

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

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

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

确保向postindex 操作添加路由以允许表单提交。

于 2013-05-23T10:49:07.610 回答