标签: ruby-on-rails devise ruby-on-rails-5
我正在为我的应用程序使用devise,用户需要注册,因此devise具有一些验证功能,例如电子邮件的唯一性和密码长度
这是显示消息错误的代码
new.html.erb
<%= devise_error_messages! %>
这应该向用户显示错误验证,但这是设计显示它的方式,就像错误代码一样!
the screenshot is here
问题出在哪里?
答案 0 :(得分:0)
问题出在这一行:
@user.save!
save!方法将引发异常ActiveRecord::RecordInvalid。该异常导致服务器中断请求处理并显示调用堆栈。
ActiveRecord::RecordInvalid
要解决此问题,您需要改用save方法,而没有感叹号。例如:
if @user.save # user was saved successfully else # validation failed, show devise error message end