用户下拉列表选择RubyonRails索引的排序

用户下拉列表选择RubyonRails索引的排序,ruby,ruby-on-rails-3,web,Ruby,Ruby On Rails 3,Web,我见过类似于这个问题的东西,但不完全是我想要的。在询问之前,我确实试着在别处找到了这个。话虽如此 我正在创建我的第一个Rails应用程序。我将举一个简单的例子来说明我的问题: 假设我有模范员工 每个员工都有一个姓名和职位 当我导航到localhost/Employees/index时,我将得到一个员工列表。我希望该索引可以由用户进行排序。我希望它有一个下拉列表,允许用户选择排序依据。如果这是PHP,我只需传递用户搜索首选项的参数,并使用不同的“ORDER BY”值重新加载页面,但我似乎不知道在r

我见过类似于这个问题的东西,但不完全是我想要的。在询问之前,我确实试着在别处找到了这个。话虽如此

我正在创建我的第一个Rails应用程序。我将举一个简单的例子来说明我的问题:

假设我有模范员工

每个员工都有一个姓名和职位

当我导航到localhost/Employees/index时,我将得到一个员工列表。我希望该索引可以由用户进行排序。我希望它有一个下拉列表,允许用户选择排序依据。如果这是PHP,我只需传递用户搜索首选项的参数,并使用不同的“ORDER BY”值重新加载页面,但我似乎不知道在rails中从何处开始

提前感谢,,
Ryan

当用户提交表单时,参数散列由表单传递给控制器。一种简单的方法是使用单独的表单编辑搜索字段。(如果我的ERB错误,请道歉,我通常使用HAML)

在你的表格里有这样的东西。它也会修改URL头

<%= form_tag(params, :method => :get) do %>
  <%= select_tag(:order_by, options_for_select(SET_OF_ORDERS, params[:order_by])) %>
  <%= submit_tag "Search with parameters" %>
:get)do%>
然后在控制器中,在查找函数中使用:order_by参数(params[:order_by])

是表单助手


和往常一样,请确保对输入进行清理,因为用户可以向URL请求中添加任何内容,而您不需要SQL注入。

嘿,如果您喜欢Jquery,那么Jquery工具DataTables就可以实现这种功能。DataTables可以为您提供更多的功能,并在索引页中为您的表提供良好的css

按照下面的链接解释如何使用Datatables

我希望这对你有帮助。
谢谢