Cookies are read and written through ActionController#cookies.
The cookies being read are the ones received along with the request, the cookies being written will be sent out with the response. Reading a cookie does not get the cookie object itself back, just the value it holds.
Examples of writing:
# Sets a simple session cookie.
# This cookie will be deleted when the user's browser is closed.
cookies[:user_name] = "david"
# Sets a cookie that expires in 1 hour.
cookies[:login] = { value: "XJ-122", expires: 1.hour }
# Sets a cookie that expires at a specific time.
cookies[:login] = { value: "XJ-122", expires: Time.utc(2020, 10, 15, 5) }
# Sets a "permanent" cookie (which expires in 20 years from now).
cookies.permanent[:login] = "XJ-122"
[...]
The option symbols for setting cookies are:
:expires - The time at which this cookie expires, as a Time or ActiveSupport::Duration object.
"..If you need to set expiration period
for sessions through all controllers
in your application, simply add the
following option to your
config/intializers/session_store.rb
file:
:expire_after => 60.minutes
If you need to set different
expiration time in different
controllers or actions, use the
following code in action or some
before_filter:
Duplication of the hash is needed only
because it is already frozen at that
point, even though modification of at
least :expire_after is possible and
works flawlessly..."