在模型表上使用default_scope的问题

时间:2011-02-26 23:20:15

标签: ruby-on-rails ruby-on-rails-3 activerecord

嘿。在我的控制器/索引操作中,我使用以下查询:

@course_enrollments = current_user.course_enrollments

这就是我的表格。它引用了一个课程表。课程表有一个专栏'标题'。

create_table "course_enrollments", :force => true do |t|
  t.integer  "user_id",    :null => false
  t.integer  "course_id",  :null => false
  t.datetime "created_at"
  t.datetime "updated_at"
end

我希望能够在我的索引视图中订购我的course_enrollments。此外,我喜欢在我的模型中执行default_scope,如下所示:

  default_scope :order => 'title asc'

有什么建议吗?感谢你的时间

1 个答案:

答案 0 :(得分:3)

要对父模型进行排序,请按照Rails 3 sorting through parent association上的说明操作,即:

CourseEnrollments.joins(:course).order('courses.title')

对于默认范围,您应该能够使用:

default_scope joins(:course).order('courses.title')