Railsアプリケーションでstrong_parametersとdevise_invitableを使用しています。「禁止属性」のままにしておくと、実行時エラーが発生します。だから私は次のことをしました:
- を使用して新しいコントローラを作成しました
rails g controller users/invitations
:invitations => "users/invitations"
devise_forに追加されました次のようなユーザー/invitations.rbの入力:
class Users::InvitationsController < Devise::InvitationsController def update self.resource = resource_class.accept_invitation!(allowed_params) if resource.errors.empty? set_flash_message :notice, :updated sign_in(resource_name, resource) respond_with resource, :location => after_accept_path_for(resource) else respond_with_navigational(resource){ render :edit } end end private def allowed_params params.permit(:utf8,:authenticity_token,:invitation_token, :_method, {user: [:invitation_token,:password,:password_confirmation]}, :commit, :action,:controller) end end
ただし、これを行うと、「招待トークンを空白にすることはできません」というエラーが表示されます。を使用してallowed_paramsの値を確認しましたが、puts
そこにあるようです。それでも、エラーが発生します。