我在使用forgotpassword方法访问用户的电子邮件时遇到问题。如何在不使用此方法创建新用户的情况下访问电子邮件。我在users.rb模型中有send_new_password方法。
def forgot_password
if request.post?
user = User.find_by_email(params[:user][:email])
puts user
if user and user.send_new_password
flash[:message] = "A new password has been sent by email."
# redirect_to root_path
else
flash[:warning] = "Couldn't send password"
end
end
end
这是我忘记密码的页面
<h1>Forgot Password</h1>
<%= form_for(@user) do |f| %>
<%= render 'shared/error_messages', :object => f.object %>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
答案 0 :(得分:1)
你可能想做
form_for(User.new)
因为您没有任何对象可以放入@user