Ruby on rails 分类及;通过选择标记过滤Rails模型,而不使用ajax

Ruby on rails 分类及;通过选择标记过滤Rails模型,而不使用ajax,ruby-on-rails,Ruby On Rails,没有找到任何没有Ajax的干净简单的解决方案来解决我的问题 问题是–如何使用selecttag对任何ActiveRecord模型列表进行排序和筛选 我基本上需要的是: 当用户选择其他值时,浏览器打开URL参数更新的新页面 所有其他url参数保持不变,我不会从头创建url 例如: 用户继续执行/controller/action?sort=date&page=18&filter=A 然后他单击下拉列表并将过滤器更改为Z Huray1用户进入/controller/action?sort=dat

没有找到任何没有Ajax的干净简单的解决方案来解决我的问题

问题是–如何使用
select
tag对任何ActiveRecord模型列表进行排序和筛选

我基本上需要的是:

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

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

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

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

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

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

    已经尝试过了,表单标记的空操作将删除除已提交参数之外的所有其他参数:(您可能希望根据URL参数设置表单字段。这样,用户可以看到已选择的选项,并再次提交值