AnkitG
AnkitG

Reputation: 6568

Rails 4.1 serialization of session

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

Answers (1)

SoAwesomeMan
SoAwesomeMan

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

Related Questions