🤖
管理者ログイン
はじめに
今日は管理者側でログインする方法を記載します。
実装方法
まず、管理者テーブルを作成します。
rails g devise Admin
次にログインするユーサーを作成します。
Admin.create!(
email: 'admin@admin',
password: 'testtest'
)
rails db:seed
を忘れずに
ここでrails c
でユーザーデータが入っているか確認します。
~>Admin.all
(ユーザーデータ)
~>exit
続いてviewとcontrollerの編集を行います。
$rails g devise:views admins
$rails g devise:controllers admins
次にルーティングの編集です。
devise_for :admins, controllers: {
sessions: 'admins/sessions'
}
ログイン後のヘッダー画面を追加します。
application.html.erb
<% if customer_signed_in? %>
<li>
<%= link_to "ログアウト", destroy_user_session_path, method: :delete %>
</li>
<% elsif admin_signed_in? %>
<li>
<%= link_to "ログアウト", destroy_admin_session_path, method: :delete %>
</li>
<% else %>
<li>
<%= link_to "新規登録", new_user_registration_path %>
</li>
<li>
<%= link_to "ログイン", new_user_session_path %>
</li>
<% end %>
最後にログイン後の変異先を追加します。
protected
def after_sign_in_path_for(resource)
admin_posts_path
end
def after_sign_out_path_for(resource)
new_admin_session_path
end
終わりに
自身のメモ程度ですが、至らぬ点やここわからんってことがありましたらコメントで教えていただくと幸いです。
Discussion