お世話になります。
現在railsのアプリで、deviseを使ってログイン、ユーザー情報のアップデートなどを実装したのですが、他のアクションからもユーザー情報を変えられる様にしたいなと思っています。
ざっくり説明すると、deviseではEmail、パスワードを登録し、admin(boolean)を他の画面から変更できる様にしたいと考えています。(サインアップ時にはadminは自動でfalseで登録されます。)
deviseが自動的にupdateアクションを作っているのですが、adminの値の変更も同じアクションにオーバーライドさせて記述するべきなのでしょうか。
それとも他のアクション(更に言うとdeviseはUsers::RegistrationsControllerと言うのを自動で作成しており、自分で作成したusers_controllerとは別のコントローラになります)でテーブルにアクセスしても良いのでしょうか。
設計上、1つのテーブルの更新に関わるアクションは1つにまとめた方が良いとかあればご教示頂けると幸いです。
下記、参考にコードを書いておきます。
ruby
1#以下deviseが作成したコントローラ 2class Users::RegistrationsController < Devise::RegistrationsController 3 # PUT /resource 4 # def update 5 # super 6 # end 7#上記、何かを追記したかったらupdateをオーバーライドする形になります。 8 9end 10 11 12#以下自分で作成したコントローラ 13class UsersController < ApplicationController 14 def update 15 #ここにUser情報を変更するコードを追加しても問題ないでしょうか。 16 end 17 18end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/21 05:54