2011-09-23 39 views
2

這是範圍/路由問題嗎? current_user在用戶控制器中工作。在另一個控制器/視圖中,這返回nil。即使用戶登錄,user_signed_in?方法返回false。我知道我錯過了一些東西,只是無法指向我的手指。什麼是正確的方法來做到這一點?Current_user設計方法在用戶控制器外返回nil

+0

發現問題。這是會議。顯然,current_user和其他方法由於cookies而不正確。這個子域名教程很有幫助。 https://github.com/fortuity/rails3-subdomain-devise/wiki/Tutorial-%28Walkthrough%29 – Saran

回答

6

它適用於我在其他控制器。瘋狂的猜測:也許其他控制器需要:before_filter:authenticate_user!

+1

它確實有效。這是一個餅乾問題。 – Saran

2

我有同樣的問題,我需要把這個在我的佈局,我使用的是不同的佈局不是應用程序:

= csrf_meta_tags 
0

同樣的事情發生在我身上,但問題是,當我做了一個ajax請求。這固定它(在haml中)。這可以確保所有Ajax請求攜帶CSRF令牌:

:coffee 
    require ['jquery'], ($)-> 
    $.ajaxSetup 
     headers: 
     'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') 

確認這是在標題:

= csrf_meta_tags 
相關問題