Ruby on Rails - Session et cookies

Séances

Pour enregistrer des données sur plusieurs demandes, vous pouvez utiliser la session ou les hachages flash. Un flash stocke une valeur (normalement du texte) jusqu'à la prochaine requête, tandis qu'une session stocke des données pendant la session complète.

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 %>

Il est possible de désactiver la gestion de session -

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

Consultez le lien pour plus de détails sur la gestion de session

Biscuits

Voici la syntaxe de configuration des 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}

Voici la syntaxe de lecture des cookies -

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

Voici la syntaxe pour supprimer les cookies -

cookies.delete :user_name

Tous les symboles d'option pour la configuration des cookies sont -

  • value - La valeur de cookie.s ou liste de valeurs (sous forme de tableau).

  • path- Le chemin auquel ce cookie s'applique. Par défaut, la racine de l'application.

  • domain - Le domaine auquel ce cookie s'applique.

  • expires - L'heure à laquelle ce cookie expire, en tant qu'objet + Time +.

  • secure- Si ce cookie est un cookie sécurisé ou non (valeur par défaut false). Les cookies sécurisés ne sont transmis qu'aux serveurs HTTPS.

Consultez le lien sur la gestion des cookies , pour plus de détails.

rails-references-guide.htm