在rails中创建过滤器的最佳方法是什么。所以基本上我有一个带有行和列的html表,其中列出了很多信息。现在我想按日期、名称、升序、降序等对该表进行排序......
我不希望使用 javascript 来实现这一点,如果可能的话,我宁愿它使用 ruby 代码。实现这一目标的最佳方法是什么?如果这不是一个好方法,我不必使用桌子。此外,通过使用代码是否意味着每次我希望应用过滤器时都必须刷新页面,或者可以在无需刷新页面的情况下完成,它可以即时吗?
在rails中创建过滤器的最佳方法是什么。所以基本上我有一个带有行和列的html表,其中列出了很多信息。现在我想按日期、名称、升序、降序等对该表进行排序......
我不希望使用 javascript 来实现这一点,如果可能的话,我宁愿它使用 ruby 代码。实现这一目标的最佳方法是什么?如果这不是一个好方法,我不必使用桌子。此外,通过使用代码是否意味着每次我希望应用过滤器时都必须刷新页面,或者可以在无需刷新页面的情况下完成,它可以即时吗?
假设您有一个表格或要按姓名过滤的人员列表,
在您的模型中包含一个:name
范围,如下所示:person.rb
scope :name, lambda{|name| where('name = ?', name )}
在persons_controller.rb
您希望按名称过滤人员的视图或任何其他控制器中,has_scope :name
在顶部添加。
:name
参数以获取过滤后的结果,如下所示:<%= link_to 'filtered_name', {controller: 'persons', action: 'index', :name => 'the_name'} %>
您可以类似地为升序和降序应用过滤器。
您可以使用 Filterrific gem。你可以在这里看到一个现场演示:
以下是关于您正在寻找的内容的精彩 Railcast: http ://railscasts.com/episodes/240-search-sort-paginate-with-ajax
它向您展示了使用和不使用javascript。
如果您想在不刷新页面的情况下应用过滤器,则意味着您需要使用 Javascript。