Ruby on Rails: sesión y cookies

Sesiones

Para guardar datos en varias solicitudes, puede usar la sesión o los hash de flash. Un flash almacena un valor (normalmente texto) hasta la próxima solicitud, mientras que una sesión almacena datos durante la sesión completa.

session[:user] = @user
flash[:message] = "Data was saved successfully"

<%= link_to "login", :action => 'login' unless session[:user] %>
<% if flash[:message] %>
<div><%= h flash[:message] %></div>
<% end %>

Es posible desactivar la gestión de sesiones:

session :off                           # turn session management off
session :off, :only => :action      # only for this :action
session :off, :except => :action    # except for this action

session :only => :foo,              # only for :foo when doing HTTPS
        :session_secure => true 

session :off, :only=>:foo, # off for foo,if uses as Web Service
        :if => Proc.new { |req| req.parameters[:ws] }

Consulte el enlace para obtener más detalles sobre la gestión de sesiones

Galletas

A continuación se muestra la sintaxis para configurar cookies:

# Set a simple session cookie
cookies[:user_name] = "david" 

# Set a cookie that expires in 1 hour
cookies[:login] = { :value => "XJ12", :expires => Time.now + 3600}

A continuación se muestra la sintaxis para leer cookies:

cookies[:user_name]  # => "david"
cookies.size         # => 2

A continuación se muestra la sintaxis para eliminar cookies:

cookies.delete :user_name

Todos los símbolos de opción para configurar cookies son:

  • value - El valor o lista de valores de cookie.s (como una matriz).

  • path- La ruta para la que se aplica esta cookie. Por defecto es la raíz de la aplicación.

  • domain - El dominio para el que se aplica esta cookie.

  • expires - La hora a la que caduca esta cookie, como objeto + Time +.

  • secure- Si esta cookie es segura o no (el valor predeterminado es falso). Las cookies seguras solo se transmiten a servidores HTTPS.

Consulte el enlace sobre Gestión de cookies para obtener más detalles.

rieles-referencias-guía.htm