我一直在努力,现在几个小时做到这一点。我对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