これまでに作った機能について簡単にまとめていく。
今回は、
deviseを使ったログイン機能の作成
Gemを使用しない場合はこちら
Gemの導入
1 |
gem 'devise' |
bundle installの実行
deviseのインストール
1 |
$ rails g devise:install |
各種設定
上記のコマンドを実行すると指示が表示される
それぞれ
- メール機能の設定
- ルートパスの設定
- フラッシュメッセージの設定
- ビューの設定
今回は、session管理のみ作成しメール認証機能を加えないため1をスキップする
2,ルートパスの設定
1 |
root to:"blogs#index" |
ログイン後ここにリダイレクトする
3・4,フラッシュメッセージの設定・ビューの設定
deviseのデフォルトビューを作成する(フラッシュメッセージもこの時作成される)
1 |
rails g devise:views |
モデルの作成
1 |
rails g devise user |
rails db:migrateの実行
デフォルトの設定のままだとemailカラム,パスワード関連カラムを持つuserが作成される
(バージョン4.7.1現在)
ビューの編集
app/views/layouts/application.html.erb
1 2 3 4 5 6 |
<% if user_signed_in? %> <%= link_to 'ログアウト', destroy_user_session_path, method: :delete %> <% else %> <%= link_to 'ログイン', new_user_session_path %> <%= link_to 'サインアップ', new_user_registration_path %> <% end %> |
これで作成完了