有關在RegistrationController中是否添加:current_password屬性的正確方法是否正確?具有以下設計的強參數:current_password屬性
用戶模型include ActiveModel::ForbiddenAttributesProtection
# app/model/user.rb
class User < ActiveRecord::Base
include ActiveModel::ForbiddenAttributesProtection
密碼控制器,其從設計的密碼控制器繼承
# 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
註冊控制器,其從設計的註冊控制器繼承
# 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
路線爲設計使用指定的用戶s的密碼和註冊控制器。
# 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
。
任何見解都非常感謝。
不知道這是否是最好的方法,難道你不想把它放在用戶級而不是註冊級? – jfvanderwalt