私には次のような3つの関連モデルがあり、それぞれが上記のモデルの子です。
class Course < ActiveRecord::Base
has_many :questions
end
class Question < ActiveRecord::Base
belongs_to :course
has_many: :answers
default_scope order: 'questions.created_at DESC'
scope :by_answer_count, -> { #orders Questions based on its answer count
joins(:answers).reorder("count(answers.id) DESC").group(:id)
}
end
class Answer < ActiveRecord::Base
belongs_to :question
end
私が理解するのに苦労しているby_answer_count
のは、Question
モデルにあるスコープメソッドを使用して、表示するコースindex
のリストを、アクションの中で最も多くの回答から最も少ない数で並べ替える方法CoursesController
です。CoursesController
それを利用する方法はありますか、それともフィルターを機能させるために2レイヤーのダウンスコープメソッドを作成する必要がありますか?
ありがとう!