教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
「4-6 追加したカラムを保存できるようにする」で説明した通り、Deviseでは、デフォルトでメールアドレスとパスワードはパラメータを受け取るようにストロングパラメータが設定されています。
つまり、デフォルトではメールアドレスとパスワードしか編集することはできません。
なので、4-6 で実装したようにconfigure_permitted_parameters
メソッド内で編集できるカラムを指定します。
それでは、コードを追加していきましょう。app/controllers/application_controller.rb
に以下のコードを追加してください。
app/controllers/application_controller.rb12345678910111213 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の公式ドキュメントに記載されています。
追加したコードで、name
カラムとself_introduction
カラムを編集できるようにしています。
以上で本パートは終了です。
お疲れさまでした。