我根据rails casts安装了Devise和OmniAuth。我知道他们有点过时了,但是在我试图注册之前一切正常。没有使用我的omniauth推特功能。
我得到的错误是
NoMethodError at /users/sign_up undefined method `password_required?'
在我的user.rb
中1 def password_required?
2 super && provider.blank?
3 end
我尝试将其移至UserHelper文件。没用。
这是我的erb文件
1 <h2> Sign up </h2>
2 <%= simple_form_for(resource, as: resource_name,
3 url: registration_path(resource_name)) do |f| %>
4
5 <%= f.error_notification %>
6
7 <div class="form-inputs">
8 <%= f.input :email, required: true, autofocus: true %>
9 <% if password_required? %>
10 <%= f.input :password, required: true %>
11 <%= f.input :password_confirmation, required: true %>
12 <% end %>
13 </div>
14
14 <div class="form-actions">
16 <%= f.button :submit, "Sign up" %>
17 </div>
18 <% end %>
答案 0 :(得分:1)
您应该从资源实例调用此方法:
<% if resource.password_required? %>