2017-07-25 44 views
0

我正在Rails中出現以下錯誤:Rails5 - 未定義的局部變量,但它是全球

undefined local variable or method `current_user' for #<UserController:0x0000000458d708> Did you mean? @current_user 

對應於錯誤的代碼片段:

authorize @current_user 

正如你所看到的,我清楚地意思是@current_user就像錯誤信息提示的那樣,而且我也使用@current_user就像錯誤信息所示。爲什麼Rails認爲我的意思是一個本地的不可變變量,當我期望它是全球性的? authorize方法是從權威

我增加了一個print語句,以驗證是否全局變量存在,下面的代碼有效地打印出一個有效的用戶:

p @current_user 
authorize @current_user 

回答