前提
Ruby on RailsでAPIを作っています。
実現したいこと
ユーザーモデルを設定しており、フロントエンドからのpostメソッドによりユーザーの新規登録を行う機能を実装したいです。
発生している問題・エラーメッセージ
ストロングパラメータを用いてuserに関連するパラメータを登録できるようにしたいのですが、Parametersに登場しているpasswordがuserのストロングパラメータにて認識されず、passwordのvalidationに引っかかってレコードの作成ができません。
Parameters: {"login_id"=>"user124", "lastname"=>"名前5", "firstname"=>"名字5", "lastname_kana"=>"ナマエ", "firstname_kana"=>"ミョウジ", "email"=>"5@example.com", "password"=>"[FILTERED]", "user"=>{"login_id"=>"user124", "firstname"=>" 名字5", "lastname"=>"名前5", "lastname_kana"=>"ナマエ", "firstname_kana"=>"ミョウジ", "email"=>"5@example.com"}} ActiveRecord::RecordInvalid (バリデーションに失敗しました: Passwordを入力してください):
該当のソースコード
Userモデルのコントローラーは以下です。
ruby
1 def create 2 @user = User.create!(user_params) 3 # @user = User.create!(login_id: params[:login_id], firstname: params[:firstname], lastname: params[:lastname], firstname_kana: params[:firstname_kana], lastname_kana: params[:lastname_kana], password: params[:password], email: params[:email]) 4 5 respond_to do |format| 6 format.json 7 end 8 end 9 10 def user_params 11 params.require(:user).permit(:email, :password, :firstname, :firstname_kana, :lastname, :lastname_kana, :login_id) 12 end
試したこと
コメントアウトした部分にあるようにカラムごとにparams[:login_id]などとして指定した場合はうまく登録できましたが、user_paramsを使用する場合はどのようにしたら良いでしょうか。
補足情報(FW/ツールのバージョンなど)
Ruby on Rails 7.0.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/06 08:52
2022/10/06 09:04