排序&过滤Rails模型选择标签没有ajax

时间:2012-05-18 16:42:25

标签: ruby-on-rails

在没有Ajax的情况下找不到任何干净简单的解决方案。

问题是 - 如何使用select标记对任何ActiveRecord模型列表进行排序和过滤。

我基本上需要的是:

    当用户选择其他值时,
  • 浏览器会打开新页面并更新URL参数
  • 所有其他网址参数保持不变,我不会从头开始创建网址

例如:

  1. 用户继续/controller/action?sort=date&page=18&filter=A
  2. 然后他点击下拉列表并将filter更改为Z
  3. Huray1用户转到/controller/action?sort=date&page=18&filter=Z
  4. PS:我的应用程序不关心任何其他url参数,控制器,操作等。它只是更新filter字段并将用户移动到那里。

2 个答案:

答案 0 :(得分:1)

您应该将表单标记上的方法设置为"GET",并使用nil URL将其提交到当前位置。

<%= form_tag nil, :method => 'GET' do %>
  ...

然后,当用户更改下拉列表的选择时,您可以使用javascript提交表单。

答案 1 :(得分:0)

到目前为止,我提出的最佳解决方案是将所有当前参数放入隐藏的表单字段,并通过JS代码提交表单以选择值更改。