【问题标题】:impressionist does not log the Rails 4 session value into session_hash印象派不会将 Rails 4 会话值记录到 session_hash
【发布时间】:2014-11-03 06:43:27
【问题描述】:
impressionist(@object, nil, unique: [:session_hash]) 

调用impactist() 第一次插入记录,后来在每次请求时它都会说记录已经存在,因为它总是找到session_hash 的Nil 值。看起来它没有将 rails-4 会话值记录到“session_hash”中。

我正在使用 Rails 4.1.6、ruby 2.1.3p242 和印象派 (1.5.1)

对此有什么帮助吗?

【问题讨论】:

  • 你是如何解决这个问题的?

标签: ruby-on-rails ruby ruby-on-rails-4 rubygems ruby-on-rails-4.1


【解决方案1】:

我认为您描述的问题与我的相同,我在 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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 这不能正确解决问题。问题在于印象派 gem 没有使用正确的会话调用。
    猜你喜欢
    • 2013-07-03
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    相关资源
    最近更新 更多