Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 错误:禁止保存此用户:_Html_Ruby On Rails_Ruby_Forms_Devise - Fatal编程技术网

Html 错误:禁止保存此用户:

Html 错误:禁止保存此用户:,html,ruby-on-rails,ruby,forms,devise,Html,Ruby On Rails,Ruby,Forms,Devise,我一直有一个问题,我似乎无法解决 3个错误禁止保存此用户: 电子邮件不能为空 密码确认与密码不匹配 密码太短(最少8个字符) 我不知道如何摆脱禁止保存此用户的3错误: 我只想显示项目符号中的错误。你有什么想法来配合这个吗?顺便说一下,我用的是Desive 设计错误消息来自对设计错误消息的调用,它位于中的帮助程序中。我通过运行bundle open designe并查看视图发现了这一点。表单视图调用该助手方法 您可以将此代码放在初始化器中以覆盖它: module DeviseHelper

我一直有一个问题,我似乎无法解决

3个错误禁止保存此用户:

  • 电子邮件不能为空
  • 密码确认与密码不匹配
  • 密码太短(最少8个字符)
我不知道如何摆脱禁止保存此用户的
3错误:

我只想显示项目符号中的错误。你有什么想法来配合这个吗?顺便说一下,我用的是Desive

设计错误消息来自对
设计错误消息的调用,它位于中的帮助程序中。我通过运行
bundle open designe
并查看视图发现了这一点。表单视图调用该助手方法

您可以将此代码放在初始化器中以覆盖它:

module DeviseHelper
  def devise_error_messages!
    return "" if resource.errors.empty?

    messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join

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

    html.html_safe
  end
end
我不知道如何摆脱这个用户禁止的3个错误 免于得救

我们覆盖
design
helper,使我们能够最终控制希望显示的错误。它向您展示了如何实现这一点

--

助手

根据所附资源
Buck Doyle
的回答,您可能希望执行以下操作:

#app/helpers/devise_helper.rb
module DeviseHelper
  def devise_error_messages!
     resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
  end
end
这将允许您更改
设计视图
,以包含
设计错误消息方法:

#app/views/devise/registrations/new.html.erb
<%= devise_error_messages! %>
#app/views/designe/registrations/new.html.erb

老实说,最便宜的方法就是在CSS中添加以下内容(虽然从技术上讲不是删除标题):

#error_explanation h2 {
  display: none;
}

你使用的是什么版本的Rails?请不要发布文本截图。把它打出来,这样我们大家都可以读。帖子里有文字。主要问题在@meagar的帖子中陈述。通过OPs帖子,它看起来是最新的@PaulMy原创版本,只有
模块ApplicationHelper
end
。这正常吗?是的。
设备帮助器
位于设备宝石中。您不会在应用程序结构中看到它。如果您想查看gem中包含的文件,可以使用
bundle open designe
命令;您可以在那里的
应用程序/助手中找到它。但我不建议编辑它,只是在其他地方覆盖它;您是如何执行覆盖的?我想你必须把它放在
developeHelper
模块中,否则它不会真正覆盖原来的。运气不好。我已经能够让它与Rich Pecks post一起工作了一点。但是我收到了
  • 电子邮件可以';密码不能为空';不要空白
  • 电子邮件
    @user302975:我不能确定,但我不认为把它放在
    ApplicationHelper
    中会真正覆盖designe helper。这就是为什么我建议将它放在一个初始化器中,并使用名称
    develiehHelper
    ,这肯定会覆盖现有的方法。所以将它重命名为
    develiehHelper
    @Buckdoyle我没有一个
    设备助手
    只有一个
    应用程序助手
    和一个
    家庭助手
    @buckdoyle在这里添加一个新文件:
    config/initializers/designe\u helper\u override.rb
    并将
    模块设备助手
    代码放入我的答案中;密码不能为空';不要空白电子邮件
    有什么想法吗?
    #error_explanation h2 {
      display: none;
    }