act_as_authenticatedでremember_meするときの注意点

複数の場所でログイン・ログアウトをすると,

  1. FooControllerでは
    1. :login_from_cookieではログイン成功
    2. redirect_to :controller => “hoge”
  2. HogeControllerでは
    1. :login_requiredではログイン不成功
    2. redirect_to :controller => “foo”

となり,無限ループに陥ってました.どうやら,Cookieのremember_tokenとDB上のそれが異なるためっぽい.詳しくは調べて無いので,断言は出来ませんがorz.とりあえず,

if current_user.is_a? User

などとして回避した.ちなみに:falseが返ってくる.なぜだろうか.

 
comments powered by Disqus