0

Ruby on Rails アプリでユーザー認証を設定しようとしています。app/controllers/application_controller.rb に次のコードがあります。設定される前に remember_token Cookie を参照しようとすると、コードが失敗します。これを修正するにはどうすればよいですか? cookies.has_key(:remember_token) (以下を参照) でそれを実行しようとしましたが、cookie はハッシュではないため失敗しました (私が思うに)。

  protect_from_forgery
include SessionsHelper
#before_filter :authenticate 

def authenticate
    @test={:email=>"dummy", :password=>"dummy"}
    @test=cookies.permanent.signed[:remember_token] if cookies.permanent.signed.has_key(:remember_token)==true

    if User.authenticate(@test[:email], @test[:password])[:allow]==false
        redirect_to :controller=>'sessions', :action=>'new'
    end

end
4

1 に答える 1

0

あなたはこのようなことをすることができます:

@test=cookies.permanent.signed[:remember_token] unless cookies.permanent.signed[:remember_token].nil?
于 2012-08-25T00:12:12.763 に答える