我希望能够通过User模型轻松排序。因此,在视图中,您可能会看到一些要排序的选项。可选择两个单选按钮,一个用于流行按钮,另一个用于最新按钮。要查找热门用户(根据他们的粉丝数量):
/people?sort=popular
或者你可以选择其他收音机来找到最近的用户:
/people?sort=latest
然后,您可以选择一个复选框(您可以选择多个),例如most posts
,以查找帖子最多且最受欢迎的用户:
/people?sort=popular&posts=on
另一个复选框,用于查找可联系的用户(这是存储在用户表中的布尔值)
/people?sort=popular&posts=on&contactable=on
我希望这是有道理的。当您通过设计师排序时,Dribbble可以很好地完成这项工作。任何人都能指出我正确的方向来实现这一目标吗?谢谢。一旦我对如何完成此操作有了一般性的了解,我就可以添加更多选项来进行排序。此外,我不需要AJAX所以页面刷新每个查询是完全可以的。
答案 0 :(得分:1)
在Rails中,每个控制器操作都可以访问params哈希。 params散列有很多东西,包括查询字符串中每个项的键/值结构。
因此,在people#index
行动中,您将获得以下内容:
params[:sort] #=> value is "popular"
params[:posts] #=> value is "on"
params[:contactable] #=> value is "on"
您可以将where
子句传递给您的用户模型。
答案 1 :(得分:0)
我首先看看这个railscast: http://railscasts.com/episodes/240-search-sort-paginate-with-ajax
然后这个: http://railscasts.com/episodes/340-datatables
这应该为您提供有关如何解决此问题的充分信息和想法。