1
impressionist(@object, nil, unique: [:session_hash]) 

调用印象派()插入记录的第一次,以后每次请求它说记录已经存在,因为它总是找到session_hash零值。它看起来不会将rails-4会话值记录到“session_hash”中。印象派不记录钢轨4会话值到session_hash

我使用Rails 4.1.6,红宝石2.1.3p242和印象派(1.5.1)

任何帮助?

+0

你是如何解决这个问题的? – sergserg 2015-03-19 16:03:33

回答

-1

我遇到了同样的问题。我最终使用条件语句来检查session_hash是否存在。

if session_hash.blank? 
    impressionist(@object) 
else 
    impressionist(@object, nil, unique: [:session_hash]) 
end 
+0

这不能正确解决问题。问题在于Impressionist gem没有使用正确的会话呼叫。 – sergserg 2015-03-19 16:03:02

0

我认为你描述的问题与我的相同,我发现解决方案在这个开放问题下的git回购。

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