2016-08-01 64 views
2

我想創建一個應用程序使用Rails應用程序作曲家工具。我正在使用Deviseconfirmable。我收到錯誤NoMethodError:未定義的方法`確認!'爲#<用戶

rake db:seed 
rake aborted! 
NoMethodError: undefined method `confirm!' for #<User:0xa0b26ec> 

在安裝過程中。

已經是user.rb文件有:confirmable

devise :database_authenticatable, :registerable, :confirmable, 
    :recoverable, :rememberable, :trackable, :validatable 

我不能做rake db:seed

+0

你正在使用的DEVISE版本是什麼? – Sravan

回答

6

Devise 4.2.0confirm!方法depricated,你必須使用confirm代替

4.2.0 - 2016年7月1日

清除: -

Remove the deprecated Devise::ParameterSanitizer API from Devise 3. Please use the #permit and #sanitize methods over #for. 

Remove the deprecated OmniAuth URL helpers. Use the fully qualified helpers (user_facebook_omniauth_authorize_path) over the scope based helpers (user_omniauth_authorize_path(:facebook)). 

Remove the Devise.bcrypt method, use Devise::Encryptor.digest instead. 

Remove the Devise::Models::Confirmable#confirm! method, use confirm instead. 

Remove the Devise::Models::Recoverable#reset_password! method, use reset_password instead. 

Remove the Devise::Models::Recoverable#after_password_reset method. 

由此看來,

Remove the Devise::Models::Confirmable#confirm! method, use confirm instead.

Here is the refference

+0

它工作。謝謝。 –

+0

如果以正確的方式幫助你,你可以接受我的答案嗎?如果你想這樣做。 – Sravan

相關問題