LoginSignup
3
0

More than 1 year has passed since last update.

【Error対応】Unpermitted parameters: :format, :registration について

Posted at

はじめに

React、Rails APIでSPAを開発しているのですが、標記エラーに遭遇しました。
忘備録として、また同じエラーに遭遇した人に向けて、記事として残そうと思います。

エラー

ログイン機能を実装するためにdevise_token_authを使っているのですが、実装後、テストのためReact <=> Rails API間の通信時にエラーが発生しました。

調べる前に、エラー分をよく読んでみます。

翻訳通り、許可されていないパラメータをやりとりしているから?なのでしょうか、でもログイン処理は完了していました。

web_1  | Unpermitted parameters: :format, :registration
web_1  | Unpermitted parameters: :format, :registration
web_1  | Unpermitted parameters: :format, :registration

対応

調べた結果、通信を受けるAPI側でストロングパラメータの定義がまずかったことが判明。
requireメソッドを使用して、params内の特定のキー(registration)に紐付く値だけを抽出するよう記述する必要がありました。
※ストロングパラメータに関しては、参考記事がわかりやすかったため、そちらに役割を譲りたいと思います。気になる方はご確認ください。

class Api::V1::Auth::RegistrationsController < DeviseTokenAuth::RegistrationsController
  private
    def user_params
      params.require(:registration).permit( :name, :email, :password, 
                      :password_confirmation )
    end

これでエラーは解消することができました。

参考

devise_token_authで「Unpermitted parameters: :format, :registration」が出た時の対処法
https://qiita.com/sssssatou/items/aedd9ec093afd89a3190

【Ruby on Rails】ストロングパラメータって何なの?
https://qiita.com/ozackiee/items/f100fd51f4839b3fdca8

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0