Ruby on rails rails-active admin-PG::InvalidColumnReference:错误:表达式上的SELECT DISTINCT必须与表达式的初始顺序匹配

Ruby on rails rails-active admin-PG::InvalidColumnReference:错误:表达式上的SELECT DISTINCT必须与表达式的初始顺序匹配,ruby-on-rails,activeadmin,Ruby On Rails,Activeadmin,我在一个模型中有一个作用域,当我从rails控制台调用它时,它工作得非常好,但当我尝试在active admin中使用它时,它会抛出一个错误 这里是范围 scope :clicked, -> { select('distinct on (email_stats.clicked_url) email_stats.*').order(:clicked_url, :action_performed_at)} 这是我在active admin中尝试使用它时遇到的错误 ActionView::Te

我在一个模型中有一个作用域,当我从rails控制台调用它时,它工作得非常好,但当我尝试在active admin中使用它时,它会抛出一个错误

这里是范围

scope :clicked, -> { select('distinct on (email_stats.clicked_url) email_stats.*').order(:clicked_url, :action_performed_at)}
这是我在active admin中尝试使用它时遇到的错误

ActionView::Template::Error(PG::InvalidColumnReference:错误:表达式上的SELECT DISTINCT必须按表达式匹配初始顺序 第1行:在(email\u stats.单击\u url)email\u stats.*上选择distinct。。。 ^ :在(电子邮件统计信息。单击url)电子邮件统计信息上选择不同。*从“电子邮件统计信息”中按“电子邮件统计信息”排序。“id”描述,“电子邮件统计信息”。“单击url”ASC,“电子邮件统计信息”。“在“ASC限制$1偏移$2”执行的操作”:


有人能告诉我我错过了什么吗?我一直在查看其他帖子,但似乎没有一篇有用。

试图在范围内使用distinct可能会有问题。相反,我使用:

controller do
  def apply_filtering(collection)
    super.distinct
  end
end