ruby-on-rails - Ruby on Rails - 按 has_many 关系的字段排序对象

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

我是 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/

相关文章:

ruby-on-rails - "has_many :through"通过与 STI 的多态关联关联

ruby-on-rails - 将对象作为路径助手的参数传递

ruby-on-rails-3 - 如何使继承的资源可选嵌套为单例?

ruby-on-rails - 使用 vim 从现有标记 block 轻松创建 Ruby on Rails 部分

Ruby:转换哈希键

ruby-on-rails - Rails 3 按出现次数选择不同的顺序

使用 ajax (destroy.js.erb) 删除对象的 JavaScript 不起作用

ruby-on-rails - 如何从session_id加载Rails session ?

javascript - Rails 4 -assert_select 不适用于由 javascript 更新的元素

ruby-on-rails - 在 mongoid 中不区分大小写搜索单词