カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

6-4

プロフィール情報を編集できるようにする

「4-6 追加したカラムを保存できるようにする」で説明した通り、Deviseでは、デフォルトでメールアドレスとパスワードはパラメータを受け取るようにストロングパラメータが設定されています。

つまり、デフォルトではメールアドレスとパスワードしか編集することはできません。

なので、4-6 で実装したようにconfigure_permitted_parametersメソッド内で編集できるカラムを指定します。

それでは、コードを追加していきましょう。app/controllers/application_controller.rb に以下のコードを追加してください。

app/controllers/application_controller.rb
12345678910111213
Copied!
class ApplicationController < ActionController::Base before_action :configure_permitted_parameters, if: :devise_controller? protected def configure_permitted_parameters devise_parameter_sanitizer.permit(:sign_up, keys: [:name, :gender]) # この行を追加 devise_parameter_sanitizer.permit(:account_update, keys: [:name, :self_introduction]) end end

アカウント作成時と違う箇所は、キーがaccount_updateになっているところです。このキーに関しては、Deviseの公式ドキュメントに記載されています。

参考)Devise - Strong Parameters

追加したコードで、nameカラムとself_introductionカラムを編集できるようにしています。

以上で本パートは終了です。

お疲れさまでした。