Ruby-on-rails-rails-session-cookies

提供:Dev Guides
移動先:案内検索

Ruby on Rails-セッションとCookie

セッション

複数のリクエストにわたってデータを保存するには、セッションハッシュまたはフラッシュハッシュを使用できます。 フラッシュは次のリクエストまで値(通常はテキスト)を保存し、セッションはセッション全体でデータを保存します。

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

セッション管理をオフにすることが可能です-

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

Session Managementの詳細については、リンクを確認してください

クッキー

クッキーを設定するための構文は次のとおりです-

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

クッキーを読むための構文は次のとおりです-

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

クッキーを削除するための構文は次のとおりです-

cookies.delete :user_name

クッキーを設定するためのすべてのオプション記号は-

  • -cookie.sの値または値のリスト(配列として)。
  • path -このCookieが適用されるパス。 デフォルトはアプリケーションのルートです。
  • domain -このCookieが適用されるドメイン。
  • expires -このCookieの有効期限が切れる時間(&plus; Time&plus;として)オブジェクト。
  • secure -このCookieがセキュアCookieかどうか(デフォルトはfalse)。 セキュアCookieはHTTPSサーバーにのみ送信されます。

詳細については、http://guides.rubyonrails.org/securityl [Cookies Management]のリンクを確認してください。