0

投稿モデルにこのスコープがあります

scope :tynewydd_posts, :include => :department, :conditions => {"departments.name" => "Ty Newydd"}

返された結果を作成した順に並べたいので最新の投稿が先

私は試した

scope :tynewydd_posts, :include => :department, :conditions => {"departments.name" => "Ty Newydd"}.order("posts.created_at DESC")

しかし、未定義のメソッド順序:ハッシュを取得するので、ここではこのメソッドを使用できないと思いますか?

4

2 に答える 2

2

この方法を試してください:

scope :tynewydd_posts, 
      :include => :department, 
      :conditions => {"departments.name" => "Ty Newydd"}, 
      :order => "posts.created_at DESC"
于 2013-02-16T09:46:34.230 に答える
1

orderスコープに渡す可能なオプションです。次のようになります。

scope :tynewydd_posts, :include => :department, :conditions => {"departments.name" => "Ty Newydd"}, :order => "posts.created_at DESC"

またはさらに良いことに、次のような適切な Rails 3 構文:

scope :tynewrdd_posts, includes(:department).where('departments.name' => 'Ty Newydd').order('posts.created_at DESC')

于 2013-02-16T10:02:10.630 に答える