1

我见过类似于这个问题的东西,但不完全是我要找的东西。在询问之前,我确实尝试在其他地方找到这个。话虽如此。

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

假设我有模型员工。

每个员工都有一个名字和一个职位。

当我导航到 localhost/Employees/index 时,我会得到一个员工列表。我希望该索引可由用户排序。我希望它有下拉菜单,允许用户选择要排序的内容。如果这是 PHP,我将只传递用户搜索首选项的参数,并使用不同的“ORDER BY”值重新加载页面,但我似乎无法弄清楚在 rails 中从哪里开始这样的事情。

在此先感谢,瑞安

4

2 回答 2

1

当用户提交表单时, params哈希通过表单传递给控制器​​。一种简单的方法是使用单独的表单来编辑搜索字段。(抱歉,如果我的 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" %>

然后在你的控制器中使用 find 函数中的:order_by参数 (params[:order_by]) 。

options_for_select是一个表单助手。

与往常一样,请确保清理输入,因为用户可以将任何内容添加到 URL 请求中,并且您不希望 SQL 注入。

于 2012-05-24T05:31:57.300 回答
1

嘿,如果你喜欢 Jquery,那么这种类型的功能可以通过 jquery 工具 DataTables 实现,它为你提供了更多的功能,并为索引页面中的表提供了良好的 css。

按照下面的链接向您解释如何使用数据表

http://railscasts.com/episodes/340-datatables?view=asciicast

我希望这可以帮助你。
谢谢。

于 2012-05-24T08:37:18.677 回答