1

在rails中创建过滤器的最佳方法是什么。所以基本上我有一个带有行和列的html表,其中列出了很多信息。现在我想按日期、名称、升序、降序等对该表进行排序......

我不希望使用 javascript 来实现这一点,如果可能的话,我宁愿它使用 ruby​​ 代码。实现这一目标的最佳方法是什么?如果这不是一个好方法,我不必使用桌子。此外,通过使用代码是否意味着每次我希望应用过滤器时都必须刷​​新页面,或者可以在无需刷新页面的情况下完成,它可以即时吗?

4

3 回答 3

10

假设您有一个表格或要按姓名过滤的人员列表,

  1. 在您的模型中包含一个:name范围,如下所示:person.rb

    scope :name, lambda{|name| where('name = ?', name )}

  2. persons_controller.rb您希望按名称过滤人员的视图或任何其他控制器中,has_scope :name在顶部添加。

  3. 在视图上传递:name参数以获取过滤后的结果,如下所示:

<%= link_to 'filtered_name', {controller: 'persons', action: 'index', :name => 'the_name'} %>

您可以类似地为升序和降序应用过滤器。

于 2013-08-06T13:28:50.533 回答
6

您可以使用 Filterrific gem。你可以在这里看到一个现场演示:

http://filterrific.clearcove.ca/

于 2015-03-23T18:11:59.930 回答
3

以下是关于您正在寻找的内容的精彩 Railcast: http ://railscasts.com/episodes/240-search-sort-paginate-with-ajax

它向您展示了使用和不使用javascript。

如果您想在不刷新页面的情况下应用过滤器,则意味着您需要使用 Javascript。

于 2013-08-06T13:10:32.553 回答