Reputation: 6568
I am using Rails 4.1.rc2. It's the soon going to be launched Rails 4.1 there has been a change with the ways sessions are serialized now commit here and link to guide.
I am no more able to store my object in the session eq
session[:user] = User.new
when i access session[:user]
i get a String
.
Any way to revert back to old one ? Or store object in Rails 4.1 session
Upvotes: 0
Views: 2018
Reputation: 3406
# app/controllers/application_controller.rb
helper_method :session_user
def session_user
@session_user ||= Marshal.load(session[:user])
end
def set_session_user(user)
session[:user] = Marshal.dump(user)
end
# set
set_session_user(User.new)
# reconstitute and perform operation
session_user.awesome = 'rad'
session_user.save!
see http://www.ruby-doc.org/core-2.1.1/Marshal.html
Upvotes: 1