重定向后Rails会话不会持久化

Rah*_*ava 12 session ruby-on-rails ruby-on-rails-4

我正在使用会话存储将数据保存到会话中.我的initializers/session_store.rb看起来像:

::Application.config.session_store :active_record_store
Run Code Online (Sandbox Code Playgroud)

将数据添加到会话代码:

book = Book.find(1)
session[:abc] = book
Run Code Online (Sandbox Code Playgroud)

我在不同的页面访问此会话数据.访问会话数据:

book = session[:abc]
Run Code Online (Sandbox Code Playgroud)

问题是我的会话数据没有在重定向之间保留.可能是什么问题呢?

我可以看到我的会话正在按预期保存数据,但是当重定向发生时它会丢失一些数据,如果再次重定向则会丢失更多数据.令人沮丧的是.

Ami*_*rma 6

您可以尝试将此通行簿ID转换为会话而不是整本书对象.

例如

第A页

book = Book.find(1)
session[:abc] = book.id
Run Code Online (Sandbox Code Playgroud)

第B页

book = Book.find(session[:abc])
Run Code Online (Sandbox Code Playgroud)