我是 Rails 初学者。
如何加载具有以下条件的数据库。
我想要显示按 comment.created_at DESC 排序的讲座列表
架构.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
讲座.rb
has_many :comments
评论.rb
belongs_to: lectures
最佳答案
你需要这样写:
has_many :comments, -> { order("comments.created_at DESC") }
根据 OP 的评论,他想要的似乎是一个命名范围。喜欢,
scope :order_by_comments, -> { joins(:comments).order("comments.created_at DESC") }
关于ruby-on-rails - Ruby on Rails - 按 has_many 关系的字段排序对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31891855/