我已經升級到Rails 4,並走過了strong_parameters路線。問題是,它拋出下面的錯誤指着我使用設計的客戶註冊控制器:strong_parameters Gem和Rails 4中的自定義設計路線
ActiveModel::ForbiddenAttributesError (ActiveModel::ForbiddenAttributesError):
app/controllers/users/registrations_controller.rb:89:in `build_resource'
app/controllers/users/registrations_controller.rb:6:in `create'
6號線build_resource
從create
方法和build_resource被稱爲是股票的標準:
def build_resource(hash=nil)
hash ||= resource_params || {}
self.resource = resource_class.new_with_session(hash, session)
end
它處理的模型是User
。我已經嘗試了瑞安貝茨創建允許的params類的方法:
class PermittedParams < Struct.new(:params, :current_user)
def user
params.require(:user).permit(*user_attributes)
end
def user_attributes
[:name, :username, :provider, :email, :remember_me,
:rememberable_token, :password, :password_confirmation]
end
我不知道如何在註冊控制器中處理此操作。