未定义的方法`确认!'在设计中

时间:2016-04-27 08:48:17

标签: ruby-on-rails github devise devise-confirmable

我正在使用设计,因为我的rails应用程序并且一直在使用设备确认,因此他们必须在登录后确认他们的电子邮件! 我想删除:confirmable并允许用户在未确认其电子邮件的情况下登录,我将其删除并且可以正常运行,但我的所有rspec都失败了,并且说

undefined method `confirm!' for #<User:0x007fc06db987e8>

没有像确认那样的方法!我该如何解决? (我不知道)甚至将我的宝石更新为3.5.8。 我知道我可以跳过确认但我想删除它! 谢谢!

2 个答案:

答案 0 :(得分:5)

最近自3.4.1和has been removed以来已弃用。

  

删除Devise :: Models :: Confirmable#confirm!方法,改为使用确认。

来自:https://github.com/plataformatec/devise/blob/master/CHANGELOG.md#420---2016-07-01

答案 1 :(得分:2)

当您删除:confirmable模块时,confirm!方法也将从用户实例中删除。因为confirm!confirm方法位于 Devise :: Models :: Confirmable 中。在某些您的规格中,您使用确认。看看你的规格。