Railsでセッションをオフにする。
ActionWebServiceを使っていたら、クライアント側にクッキーが設定されないせいで、リクエスト毎にセッションファイルが1つずつ増えていた。
ので、セッションをオフにする方法を調べた。
- http://wiki.rubyonrails.org/rails/pages/HowtoChangeSessionOptions
- http://techno.hippy.jp/rorwiki/?HowtoChangeSessionOptions
アプリケーション全体でオフ。
class ApplicationController < ActionController::Base session :disabled => true end
特定のコントローラだけオン。
class MyController < ApplicationController session :disabled => false end
アクション単位でオフ。
class MyController < ApplicationController session :off, :only => %w(this_action that_action) def this_action end def that_action end def other_action end end
foo bar以外の全部のアクションをオフにする。
session :off, :except => %w(foo bar)
foo barのアクションをオフにする。
session :off, :only => %w(foo bar)
アプリケーション全体に設定する場合、session :offはsession :onとできないので良くないという話がWikiに出ている。ソースを見るとsession :offはsession :disabled => trueと同じことをやっているように見えるので、session :offに対して:disabled => falseにすればいいような気がするけど……。