Ruby:devise gemのインストールからユーザー管理機能の実装まで
devise gemはRuby on Railsでユーザー登録やログインなど、ユーザー管理機能を簡単に実装できるgemです。
備忘録としてdevise gemのインストールからユーザー管理機能の実装までの流れを記します。
devise gemのインストール
まずはRailsのGemfileファイルの一番下に次の記述
gem 'devise'
その後、ターミナルでbundle installを入力
bundle install
インストール後の初期設定
ターミナルで次のコマンドを入力します。
追加したdevise gemの「設定関連に使用するファイル」を自動で生成するコマンドです。
rails g devise:install
以下のファイルが生成されれば成功です。
create config/initializers/devise.rb
create config/locales/devise.en.yml
続いて次のコマンドを順に打っていきます。
rails g devise user
rails db:migrate
rails g devise:views
各コマンドの意味は次の通りです。
コマンド | 実行される内容 |
---|---|
rails g devise user | Userモデル生成 マイグレーションファイル生成 ルーティングに"devise for :users"を追記 ※devise_forは、ユーザー機能に必要な複数のルーティングを一度に生成してくれるdeviseのメソッド |
rails db:migrate | マイグレーションを実行してテーブル作成 |
rails g devise:views | ビューファイル作成 |
マイグレーションファイルには必要に応じてカラムの設定をします。
たとえばrails g devise userコマンドで自動生成されたマイグレーションには、nameカラムが設定されていないので追記します。
rails g devise:viewsコマンドは、deviseに用意されたビューファイルをコピーし、app/viewsの配下に配置してくれるコマンドです。
deviseでログイン機能を実装すると、ログイン/サインアップ画面が自動的に生成されますが、deviseのGem内に存在するビューファイルを読み込んでいるため、ビューファイルとしては生成されません。
そのため、deviseのビューファイルに変更を加えるために、このコマンドを入力してビューファイルを生成します。
ここまで実装したら、あとは各々の好みのデザインにしたり、機能を追加したりします。
おまけ:deviseで使えるメソッド
devise gemをインストールしたことで使えるメソッドを紹介します。
メソッド | 意味 |
---|---|
user_signed_in? | ユーザーがログインしているか否かを判断できる |
current_user | ログインしているユーザーの情報を取得できる |
devise_parameter_sanitizer | deviseにおけるparamsのようなメソッド deviseのUserモデルに関わる「ログイン」「新規登録」などのリクエストからパラメーターを取得できる |
devise_parameter_sanitizerの書き方例は以下の通りです。
devise_parameter_sanitizer.permit(:deviseの処理名, keys: [:許可するキー])
使用できる:deviceの処理名→:sign_in、:sign_up、:account_update
参考資料
Author And Source
この問題について(Ruby:devise gemのインストールからユーザー管理機能の実装まで), 我々は、より多くの情報をここで見つけました https://qiita.com/yamaday0u/items/63579d8813784ffd8de0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .