设置模型关联的默认顺序

时间:2014-01-20 03:02:56

标签: ruby-on-rails ruby

说我有2个型号,分类和文章;鉴于以下关联:

类别has_many :articles ..和文章belongs_to :category

如果我这样做.. Article.all我以ASC顺序返回一个数组。

现在,Rails允许我使用:Category.find(:id).articles查询类别的文章...但是这样做我以DESC顺序返回一个数组..有没有办法覆盖它的默认行为,以便我可以使用文章表中的x列来命令这个数组,而不必在任何地方链接.order('column_name')吗?

希望这是有道理的,谢谢。

1 个答案:

答案 0 :(得分:2)

您可以在定义关联时指定顺序。

class Category < ActiveRecord::Base
  has_many :articles, :order => "updated_at DESC"
end

对于Article.all的订单,您可以定义default_scope

class Article < ActiveRecord::Base
  default_scope { order('updated_at DESC') }
end