はじめに
今回は投稿サイト作成にあたって、gemのdeviseを使って
user側とadmin側を分けて作成しております。
ん?devise?user側とadmin側分けるってなに?って方は以下サイトをご参照あれ。
https://nllllll.com/ruby-on-rails/rails-devise/
https://www.sejuku.net/blog/13378
deviseを導入することで、簡単に認証機能を実装することができます。
つまりサインアップやサインインの実装が簡単にできてしまう便利なgemです!
今回user側からの実装を進めていき、ある程度終わりが見えたところで
「さ、admin側に行くか」と思ったんですが。。
admin側のログイン画面にいき、ふと立ち止まりました。
「あれ?一度サインアップしてる??したかな。いやでもしたかも」
おそらく作成時にちゃんとサインアップできるかテストしていたんだと予測。
しかしそのパスワードもなにもかも覚えていない。
adminのパスワードを再設定しよう
方法① コンソールを使おう
コンソールを起動します。
$ rails c
起動したら、、、下記のように入力
3.1.2 :002 > Admin.create!(email: '自分のメールアドレス', password: '好きなパスワード入力してね', name: '自分の名前')
createの後ろの「!」を忘れずに。あとAdminのAは大文字です。
自分の情報を入力したらEnterを押しましょう。
TRANSACTION (*.*ms) commit transaction
=> #<Admin id: 数字, email: "登録したemail", name: "登録した名前", created_at: "日付", update_at: "日付"
画面に上記の表示が出れば登録完了です!
ちなみにnameやemailがadminのカラムにあるか確認しておいてくださいね☺︎
忘れないようにseeds.rbにメモをしておくと良いです!
#例えです
Admin.create!(email: 'apiy@o', password: 'piyopiyo', name: 'apiyo')
方法② seedsファイルに直接記入
コンソールを使用しなくても、先ほど記述したようにseedsファイルに直接記入してもOKです。
しかし、seedsファイルに記入しただけでは反映されませんので、
seedsファイルのみ使用して登録する場合は、必ずこちら↓を忘れずに!!
$ rails db:seed
今回私は既にコンソールから登録してあるので、rails db:seedは不要でした。
ちなみに複数の人に管理者権限を付与したい場合は、
同じようにseedsファイルに他の管理者の情報を記入すればOKです!