Rails 4 にアップグレードし、strong_parameters ルートに進みました。問題は、Devise で使用している顧客登録コントローラーを指す次のエラーをスローしていることです。
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
。許可されたパラメーター クラスを作成する Ryan Bates のアプローチを試しました。
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
登録コントローラーでこれを処理する方法がわかりません。