我一直在努力,現在幾個小時做到這一點。我對Ruby和Rails很新。Ruby on Rails的定義變量
在devise.html.erb文件我有
<div class="container">
<%= render :partial => 'layouts/header' if user_signed_in? %>
</div>
以上優良工程。如果用戶已登錄,那麼他們能看到標題我的頁面的頂部, 如果他們沒有登錄,他們沒有看到它。
但我需要(因爲用戶必須把地址中的下頁):
<div class="container">
<%= render :partial => 'layouts/header' if current_user.registration_complete? %>
當我重新啓動我的程序,我得到的錯誤信息:
NoMethodError in Devise/registrations#new
我已經registration_complete在我的項目在其他地方定義,在user.rb(其中我的項目的其他部分有就認出)爲:
#Determines whether user completed his profile on registration or not
def registration_complete?
self.address.present?
end
有沒有別的地方我應該把這個代碼,因此它會在我的devise.html.erb的認可?
給我們NoMethodError的完整錯誤。就像這樣,我們看不到它來自哪裏(儘管我假設它來自'registration_complete?'的調用?' – Jesper 2013-03-06 15:03:15
'NoMethodError' ...什麼?沒有可用的方法?(我猜它抱怨'current_user') – Chowlett 2013-03-06 15:03:30