未定义的方法`devise_error_messages!'单击确认链接时为Class

时间:2016-12-30 16:52:33

标签: ruby-on-rails devise

我用设计创建了一个用户。确认说明会发送到新用户的电子邮件中。点击'确认我的帐户'链接,将打开一个新页面,并显示以下错误:

NoMethodError at /users/confirmation

undefined method `devise_error_messages!' for #<#<Class:0x007fe016609818>:0x007fe0164c88f0>

错误发生在app/views/devise/confirmations/new.html.erb第4行:

<%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %>
  <%= devise_error_messages! %>

您可能会建议删除该行。但这不是我的代码。这是Devise gem文件之一。我不能也不应该编辑宝石本身。有些事情一定是错的。这是怎么回事?

1 个答案:

答案 0 :(得分:1)

我已将文件devise_helper.rb添加到我自己的项目中。此文件已覆盖devise_helper.rb处的devise-4.2.0/app/helpers。该文件定义了方法devise_error_messages!。我创建的文件没有。因此,错误。