質問: User.new(user_params) if @user.save # Handle a successful save. else render 'new' end end private def user_params params.require(:user).permit(:name, :email, :password, :password_confirmation) end end ``` という部分についての解説お願いします ユーザーがデータを入力して送信するとcreateアクションが実行されるというところは理解できたのですが その先のuser_paramsが理解できません これはユーザーが入力したデータはuser_paramsに送られてきてcreateでその情報を取得ということですか もしくはcreateに入ってきた情報をuser_paramsに渡しているということですか
回答: を読んでいるなら、 7.3.2 Strong parameters の章を熟読してください。 別の tutorial で学習をしているとしても、この部分の説明は理解できるはずです。 @user = User.new(params[:user]) とするのが本質的な処理なのですが、params をそのまま使うのは危険なので、 user_params というメソッドをつくっています。 user_params では、 paramsハッシュでは:user属性を必須とし、名前、メールアドレス、パスワード、パスワードの確認の属性をそれぞれ許可し、それ以外を許可しない というチェックしています。 チェックでエラーになると、Exception が発生します。 チェックが OK なら、許可された属性だけがはいった params が返ります。