ruby-on-rails - 设置依赖于关联模型的 Rails 事件记录 default_scope 顺序

标签 ruby-on-rails postgresql activerecord associations

我有两个模型,发布和评论。每个帖子都有很多评论。我想按哪个帖子有最新评论来排序我的帖子。

我正在尝试按如下方式在我的 Post 模型上设置 default_scope:

default_scope :order => 'posts.comments.last.updated_at DESC'

. .但是当我尝试这样做时,我得到了一个 PGError。我应该做什么?

最佳答案

使用这个

default_scope.joins(:comments).find(:all, :order => 'comments.updated_at DESC', :group => 'id')

这对我有用。

关于ruby-on-rails - 设置依赖于关联模型的 Rails 事件记录 default_scope 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10789779/

相关文章:

ruby-on-rails - Google OpenID 策略在 Rails 中不起作用

ruby-on-rails - 安装sqlite3时出错。无法构建 gem native 扩展

function - PostgreSQL 触发器更新二级相关表

python - 从python中为postgresql中的union中的每个查询选择特定列

postgresql - Postgres 9.2 到 9.5 升级丢失数据

mysql - 有没有办法跳过迁移文件的错误并继续下一个文件(Ruby on Rails + mysql)?

jquery - 注册表单上是否需要 CSRF 保护?

sql - Rails with postgres - activerecord 查询 : sort by column ASC, 然后按列分组

ruby-on-rails - Rails 中未定义的局部变量或方法 to_a?

ruby-on-rails - 导入数据时如何跳过特定的验证?