2
A
回答
4
在Rails 3中,您可以一起更改命令,wheres等。 ASCICast activerecord queries in Rails3
query = Post.order("published_at desc")
query = query.where("location_id = ?", params[:location_id]) unless params[:location_id].blank?
query = query.where("category_id = ?", params[:category_id]) unless params[:category_id].blank?
@posts = query.all
0
您可以缓存将用于排序类别和位置的字段到帖子中。
before_save: cache_sortables
def cache_sortables
self.category_title = self.category.title if self.category?
self.location_title = self.location.title if self.location?
end
Post.find(:all, :order => 'location_title, category_title, created_at')
当父类别/位置标题更改时,留给读者作为练习更新帖子。
相关问题
- 1. Rails,范围问题
- 2. 非顺序范围
- 3. 范围问题
- 4. rails命名为范围问题
- 5. rails,postgres,时区和范围的问题
- 6. Rails路由:问题与“范围:模块”
- 7. Rails的:范围过滤器的问题
- 8. 范围按相反顺序?
- 9. 角范围问题
- 10. Ruby范围问题
- 11. MongoDB范围问题
- 12. $范围问题angularjs
- 13. Dojo.hitch()范围问题
- 14. $ .getJSON范围问题
- 15. JS范围问题
- 16. AS3范围问题
- 17. Sencha范围问题
- 18. user_likes范围问题
- 19. Jquery范围问题
- 20. Yacc范围问题
- 21. Javascript范围问题
- 22. JavaScript范围问题
- 23. Backbone.sync范围问题
- 24. RoR范围问题
- 25. Javascript范围问题
- 26. CoffeeScript范围问题
- 27. REGEX范围问题
- 28. Ç范围问题
- 29. JavaScript范围问题
- 30. Microsoft.Office.Interop范围问题
如何指定location_id? – SuperString 2011-01-23 06:56:59