我有三个相关模型,如下所示,每个模型都是上述模型的子模型:
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
列表进行排序?有没有办法利用它,或者我应该在我的范围内编写一个 2 层向下范围的方法来让过滤器工作?index
CoursesController
CoursesController
谢谢!