ruby-on-rails – PostgreSQL,Rails和:order =>问题

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – PostgreSQL,Rails和:order =>问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的ActiveRecord模型中有以下行:
class Record < ActiveRecord::Base
    has_many :users,:through => :record_users,:uniq => true,:order => "record_users.index ASC"

这是为了使我能够以我使用record_users模型中的索引字段订购的方式读出record.users.

问题是Postgresql上的这个失败,出现以下错误

ActionView::TemplateError (PGError: ERROR:  for SELECT DISTINCT,ORDER BY expressions must appear in select list

有没有办法修复声明使它工作?

解决方法

我想你可以把它称为ActiveRecord中的一个bug. PosgresqlMysqL更具限制性.您可以通过以下方式设置关联来帮助ActiveRecord:
class Record < ActiveRecord::Base
  has_many :users,:select => 'DISTINCT users.*,record_users.index',:order => "record_users.index ASC"
原文链接:https://www.f2er.com/ruby/268361.html

猜你在找的Ruby相关文章