【问题标题】:Impressionist gem error: aggregates must have exactly one argument (Rails)印象派宝石错误:聚合必须只有一个参数(Rails)
【发布时间】:2015-12-24 19:48:12
【问题描述】:

我的应用程序出错:

SQLite3::SQLException: DISTINCT 聚合必须只有一个参数:SELECT DISTINCT COUNT(DISTINCT) FROM "impressions" WHERE "impressions"."impressionable_id" = ? AND "印象数"."impressionable_type" = ?.

我能做什么?

我的模型 product.rb 有:

is_impressionable :counter_cache => true, :column_name => :viewed_count, :uniq => true

我的控制器

class ProductsController < ApplicationController
  impressionist actions: [:show]

  def show
    ...
    impressionist(@product, nil, { unique: [:session_hash]})
  end

end

我的观点有:

= @product.impressionist_count(:filter=>:ip_address)

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 gem impressionist


    【解决方案1】:

    您是否使用squeel 导致类似的issue in impressionist?请检查您的 gem 版本是否是最新的。

    【讨论】:

    • 我已经检查过了。我使用:gem 'impressionist', '~> 1.5', '>= 1.5.1' 和 gem 'squeel', github: 'activerecord-hackery/squeel'。
    • 修复程序仍未合并到原始仓库,但您可以尝试从教发的安装:gem 'impressionist', github: 'godfat/impressionist', branch: 'compatible-with-squeel'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 2014-12-11
    • 2017-07-03
    • 1970-01-01
    相关资源
    最近更新 更多