impressionist(@object, nil, unique: [:session_hash])
调用impressionist()会第一次插入记录,稍后会在每次请求中显示记录已存在,因为它始终会找到 session_hash的
我正在使用Rails 4.1.6,ruby 2.1.3p242和印象派(1.5.1)
对此有何帮助?
答案 0 :(得分:0)
我认为您描述的问题与我的相同,我在git repo上找到了这个公开问题的解决方案。
https://github.com/charlotte-ruby/impressionist/issues/177
在发出id请求之前,必须覆盖项目的会话哈希方法以初始化会话。
ImpressionistController::InstanceMethods.class_eval do
def session_hash
session[:init] = true
request.session.id
end
end
答案 1 :(得分:-1)
我遇到了同样的问题。我最终使用条件语句检查session_hash是否存在。
if session_hash.blank?
impressionist(@object)
else
impressionist(@object, nil, unique: [:session_hash])
end