Ruby on Rails - Sessão e Cookies
Sessões
Para salvar dados em várias solicitações, você pode usar a sessão ou os hashes flash. Um flash armazena um valor (normalmente texto) até a próxima solicitação, enquanto uma sessão armazena dados durante a sessão 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 %>
É possível desligar o gerenciamento de sessão -
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] }
Confira o link para mais detalhes sobre Gerenciamento de Sessão
Biscoitos
A seguir está a sintaxe para definir 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 seguir está a sintaxe para leitura de cookies -
cookies[:user_name] # => "david"
cookies.size # => 2
A seguir está a sintaxe para exclusão de cookies -
cookies.delete :user_name
Todos os símbolos de opção para definir cookies são -
value - O valor de cookie.s ou lista de valores (como uma matriz).
path- O caminho para o qual este cookie se aplica. O padrão é a raiz do aplicativo.
domain - O domínio ao qual este cookie se aplica.
expires - A hora em que este cookie expira, como um objeto + Tempo +.
secure- Se este cookie é um cookie seguro ou não (o padrão é falso). Cookies seguros são transmitidos apenas para servidores HTTPS.
Confira o link Gerenciamento de Cookies para mais detalhes.