Ruby on Rails - Sessione e cookie

Sessioni

Per salvare i dati su più richieste, è possibile utilizzare la sessione o gli hash flash. Un flash memorizza un valore (normalmente testo) fino alla richiesta successiva, mentre una sessione memorizza i dati durante la sessione 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 %>

È possibile disattivare la gestione delle sessioni -

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] }

Controlla il link per maggiori dettagli sulla gestione delle sessioni

Biscotti

Di seguito è riportata la sintassi per l'impostazione dei cookie:

# 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}

Di seguito è riportata la sintassi per leggere i cookie:

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

Di seguito è riportata la sintassi per l'eliminazione dei cookie:

cookies.delete :user_name

Tutti i simboli delle opzioni per l'impostazione dei cookie sono:

  • value - Il valore cookie.s o l'elenco di valori (come un array).

  • path- Il percorso per il quale si applica questo cookie. Il valore predefinito è la radice dell'applicazione.

  • domain - Il dominio a cui si applica questo cookie.

  • expires - L'ora in cui scade questo cookie, come oggetto + Time +.

  • secure- Indica se questo cookie è un cookie sicuro o meno (l'impostazione predefinita è false). I cookie protetti vengono trasmessi solo ai server HTTPS.

Controlla il collegamento su Gestione dei cookie , per maggiori dettagli.

rails-references-guide.htm