2016-08-01 5 views
2

Я пытаюсь создать приложение с помощью инструмента для создания композиций на основе rails. Я использую Devise с confirmable. Я получаю ошибкуNoMethodError: неопределенный метод `confirm! ' for # <User

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.0 имеет метод confirm! depricated, вы должны использования confirm вместо.

4.2.0 - 2016-07-01

переезды: -

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

 Смежные вопросы

  • Нет связанных вопросов^_^