0

对于我的问题,没有 Ajax 没有找到任何干净简单的解决方案。

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

我基本上需要的是:

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

例如:

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

2 回答 2

1

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

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

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

于 2012-05-18T18:45:55.127 回答
0

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

于 2012-05-20T07:48:58.940 回答