Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 印象派不会将Rails 4会话值记录到会话\u散列中_Ruby On Rails_Ruby_Ruby On Rails 4_Rubygems_Ruby On Rails 4.1 - Fatal编程技术网

Ruby on rails 印象派不会将Rails 4会话值记录到会话\u散列中

Ruby on rails 印象派不会将Rails 4会话值记录到会话\u散列中,ruby-on-rails,ruby,ruby-on-rails-4,rubygems,ruby-on-rails-4.1,Ruby On Rails,Ruby,Ruby On Rails 4,Rubygems,Ruby On Rails 4.1,调用印象派第一次插入记录,之后在每次请求时它都会说记录已经存在,因为它总是为session_hash找到Nil值。看起来它没有将rails-4会话值记录到会话\u散列中 我使用的是Rails 4.1.6、ruby 2.1.3p242和印象派1.5.1 有什么帮助吗?我遇到了同样的问题。我最后使用了一个条件语句来检查会话\u散列是否存在 impressionist(@object, nil, unique: [:session_hash]) 我认为您描述的问题与我的问题相同,我在git回购协议

调用印象派第一次插入记录,之后在每次请求时它都会说记录已经存在,因为它总是为session_hash找到Nil值。看起来它没有将rails-4会话值记录到会话\u散列中

我使用的是Rails 4.1.6、ruby 2.1.3p242和印象派1.5.1


有什么帮助吗?

我遇到了同样的问题。我最后使用了一个条件语句来检查会话\u散列是否存在

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

我认为您描述的问题与我的问题相同,我在git回购协议的公开问题下找到了解决方案

在请求id之前,必须重写项目的会话哈希方法以初始化会话

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

这不能正确地解决问题。问题在于印象派宝石没有使用正确的会话调用。您是如何解决这个问题的?
ImpressionistController::InstanceMethods.class_eval do 
  def session_hash
    session[:init] = true
    request.session.id
  end
end