mysql - 自定义错误重复输入设备

标签 mysql ruby-on-rails ruby ruby-on-rails-4 devise

我想自定义已由 devise 注册的用户错误消息

我的注册类别和这个:

class Usuarios::RegistrationsController < Devise::RegistrationsController

 def new
  super do |usuario|
   redirect_to "" 
  end
end

def create
  super do |usuario|
    usuario.prevent_login = true
  end
end

def build_resource(hash=nil)
  super
  set attributes
end

最佳答案

您可以通过在助手中添加 devise_helper.rb 来完成此操作。这会覆盖默认的 Devise 错误消息

module DeviseHelper
  def devise_error_messages!
  return "" unless devise_error_messages?

  messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
  sentence = I18n.t("errors.messages.not_saved",
                  :count => resource.errors.count,
                  :resource => resource.class.model_name.human.downcase)

  html = <<-HTML
  <div id="error_explanation">
  <h2>#{sentence}</h2>
  <ul>#{messages}</ul>
  </div>
  HTML

  html.html_safe
end

def devise_error_messages?
  !resource.errors.empty?
end

end

You can refer here

关于mysql - 自定义错误重复输入设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47810990/

相关文章:

ruby - 如何在 Rails 5 中使用来自设计邮件程序的辅助方法?

ruby-on-rails - 如何在 M1 Mac 上安装 ruby​​-odbc gem

ruby-on-rails - 当我们需要使用 bundle :lock and unlock on rails3

ruby-on-rails - 如何在 Rails 中只允许 POST 请求?

MySQL 查询删除时间戳早于当前时间戳的行

MySQL 添加具有数字类别的列,根据另一个列值和位置进行增量

javascript - 缺少创建模板。内部服务器错误 - polymer 形式保存到数据库

ruby-on-rails - Rails 服务器未加载页面

mysql - MySQL中SUB_DATE()函数和直接从日期中减去数字之间的区别?

mysql - 我在连接到 mysql 的 Node js 中收到错误 "Cannot set headers after they are sent to the client"