きんきん日記

2005-11-28

[][] AWDwR "Chapter16 Action Controller and Rails" つづき 01:16

Action Controller つづきっ!


Cookies and Sessions

クッキーはcookiesというハッシュで読み書きできる。

cookies[:the_time] = Time.now.to_s
cookie_value = cookies[:the_time]

クッキーを書き込む際に指定できるオプションは以下のとおり。


セッションもsessionというハッシュで読み書きできる。

session[:user_id] = user.id
user_id = session[:user_id]

セッションオプションの設定の仕方はちょっと変わっていてconfig/environment.rbかconfig/environments以下のファイルに以下のような感じで設定。

ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:session_key] = 'my_app'

指定できるオプションは以下のとおり。


database_managerには以下が指定できる。

で、どれを選ぶかというとMemCacheStore,MemoryStore,FileStoreはありえない。シングルサーバならPStore。同時10,000セッション以上、または複数サーバならActiveRecord。さらにアクセス数が増えた場合はDRb。

セッションが不要になったら削除しましょうって、Railsってセッションタイムアウトの処理を自動でやってくれないの?


Flash - Communicating between Actions

連続するリクエスト間でデータをやり取りしたい場合にflashが使える。

flash[:note] = "Error!"
<%= @flash[:note] %>

現在のリクエストの間だけでよい場合はflash.nowを使い、反対にキープしておきたい場合はflash.keepを使う。


まだまだ続くよ。