deviseのgemを使うと、ログイン機能に関わる様々な機能を使えるようです。
(全部使いきれていないので・・・)
さて、deviseで作ったテーブルに新しくカラムを追加した場合、いくつか設定が必要になります。
今回は、edit、updateをする際にはどうすれば良いのか分からなかったのでメモしておきます。
viewの編集
今回は編集画面なので、app/views/devise/registrations/edit.html.erbを編集。
私の場合、アップロードした画像を編集できるようにしたかったので、以下を追記。
1 2 3 4 5 6 |
<div class="field"> <%= f.label :image %> <%= image_tag(@user.image.url) if @user.image.url %> <%= f.file_field :image %> <%= f.hidden_field :image_cache %> </div> |
controllerの編集
私の場合、ここを忘れていたのですが、app/controllers/application_controller.rbに以下を追記。
1 2 3 4 |
def configure_permitted_parameters devise_parameter_sanitizer.permit(:sign_up, keys: [:name, :image, :image_cache]) devise_parameter_sanitizer.permit(:account_update, keys: [:name, :image, :image_cache])#追記 end |
この一文がないと、新規登録はできても、編集することができません。
追記することで、編集可能になりました。
コメント