我已经尝试了几个小时了。我对 Ruby 和 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
我在我的项目其他地方的 user.rb 中定义了 registration_complete (我的项目的其他部分没有问题识别)为:
#Determines whether user completed his profile on registration or not
def registration_complete?
self.address.present?
end
我应该在其他地方放置此代码,以便在我的 devise.html.erb 中识别它吗?