Ruby on Rails - 按has_many关系的字段对对象进行排序

时间:2015-08-08 09:52:40

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

我是铁路人员。

如何加载具有以下条件的数据库。

我想通过comment.created_at DESC

来显示订单的演出列表

schema.rb

</body>

lecture.rb

  create_table "comments", force: :cascade do |t|
    t.text     "content"
    t.integer  "user_id"
    t.integer  "lecture_id"
    t.datetime "created_at",             null: false
    t.datetime "updated_at",             null: false
    t.integer  "likedcount", default: 0
  end

  create_table "lectures", force: :cascade do |t|
    t.string   "subject"
    t.string   "professor"
    t.string   "major"
    t.datetime "created_at",             null: false
    t.datetime "updated_at",             null: false
    t.integer  "uptachi",    default: 0
    t.integer  "hatachi",    default: 0
  end

comment.rb

has_many :comments

1 个答案:

答案 0 :(得分:3)

你需要把它写成:

has_many :comments, -> { order("comments.created_at DESC") }

根据OP的评论,似乎他想要的是命名范围。像,

scope :order_by_comments, -> { joins(:comments).order("comments.created_at DESC") }