2012-08-24 11 views
0

我正嘗試在Rails應用程序的ruby中設置用戶認證。我在app/controllers/application_controller.rb中有以下代碼。當我嘗試在設置之前引用remember_token cookie時,代碼失敗。我該如何解決?試圖做cookies.has_key(:remember_token)(見下文),因爲餅乾不是哈希(我認爲),失敗。在軌道上處理認證ruby中不存在的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 

回答

0

你可以做這樣的事情:

@test=cookies.permanent.signed[:remember_token] unless cookies.permanent.signed[:remember_token].nil? 
+0

不工作。獲取未定義的方法[]爲nil:Nilclass。 –