Вопрос о том, правильно ли добавлять атрибут :current_password в RegistrationController?
Пользовательская модель с include ActiveModel::ForbiddenAttributesProtection
# app/model/user.rb
class User < ActiveRecord::Base
include ActiveModel::ForbiddenAttributesProtection
Контроллер паролей, наследуемый от контроллера паролей Devise.
# app/controllers/users/passwords_controller.rb
class Users::PasswordsController < Devise::PasswordsController
def resource_params
params.require(:user).permit(:email, :password, :password_confirmation)
end
private :resource_params
end
Контроллер регистрации, который наследуется от контроллера регистрации Devise.
# app/controllers/users/registrations_controller.rb
class Users::RegistrationsController < Devise::RegistrationsController
def resource_params
params.require(:user).permit(:name, :email, :password, :password_confirmation, :current_password)
end
private :resource_params
end
Маршрут для Devise для использования паролей указанных пользователей и контроллера регистраций.
# config/routes.rb
devise_for :users, :controllers => {:registrations => "users/registrations", :passwords => "users/passwords"}
В RegistrationsController
мне пришлось добавить атрибут :current_password
, чтобы пользователи могли редактировать свой профиль.
Причина, по которой я спрашиваю, заключается в том, что без strong_parameters
я бы указал только attr_accessible
вместо :email, :password, :password_confirmation, :remember_me
.
Любые идеи очень ценятся.