気ままにふりーだむ

学習やメモなどを投稿します。プログラミング仲間や仕事、求人の話は大募集。気軽にフォローやいいねいただけると励みになります!

Rails プログラミング

[Rails]deviseを実装する

投稿日:

こんにちは。
ログイン機能を実装する便利なGem deviseの導入方法をまとめます。
それでは早速はじめます。

まずはGemfileにdeviseを記載します。

その後、下記コマンドを実行して

サーバーが立ち上がってる場合は、一旦rails sをし直し
サーバーを立ち上げ直しましょう。これはインストールしたGemが
反映されるタイミングがサーバーを立てるときだからです。

下記コマンドを実行します。

今回deviseでUserモデルを作ります。

マイグレーションファイルが作成されますので、
Userテーブルにカラムを追加する場合は
マイグレーションファイルにカラム追加します。

マイグレーションを実行

deviseのVIEWファイルを作成します。

未ログイン時はログインページに遷移させたい場合は、
application_controller.rbで下記記載を追加しましょう。

サインアップ時、emailとpassword以外の入力をさせたい場合は
下記のようにconfigure_permitted_parametersメソッド
「keys: [:name]」のように入力させたいパラメーターを許可します。

下記のようにController実装しましょう。
コントローラー名_controller.rbを作成

ルーティングを追加します。

おまけ

undefined method `devise_for'というエラーが出た
rails sで再起動していないからです。

・ヘルパーメソッド
下記のようなヘルパーメソッドを使って効率よくコーディングしましょう。

参照元

GitHub deise
https://github.com/plataformatec/devise


以上、deviseのまとめでした。
ありがとうございました。

-Rails, プログラミング

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

[Ruby]「class クラス名 end」という記述じゃないクラス定義

クラス定義は通常下記のように行いますよね。

上記を用いないでクラス定義する方法について学んだのでメモ。 結論からいうと下記のような記載 …

画像アップロードCarrierwaveを導入する

画像アップロードのGem Carrierwaveの導入方法を忘れちゃうので、手順をメモ。 今回は画像リサイズのためmini_magickも導入します Gemfileを設定 それでは早速、下記Gemをイ …

AWS+nginxサーバーに独自ドメインを設定したい

はじめに 現在の状況です。 下記環境でAWSにnginxサーバーを使用してデプロイはできている状態です。 IPでアプリケーションは表示されているが、自分で取得したドメインでも表示できるように したいと …

no image

[Rails]ヘルパーメソッドを作る!

こんにちは! 今回はヘルパーメソッドについてのまとめです。 ヘルパーメソッドを自分で作成してみたいと思います。 それでは早速いってみましょう! そもそもヘルパーメソッドとは そもそもヘルパーメソッドな …

チャットアプリにメッセージの編集と削除ボタンをつける

やりたいこと 現在チャットアプリを作っており、投稿したメッセージの編集と削除を行うために まずはボタンを配置したいと思っています。またそのボタンは常時表示させるのでなく、 該当メッセージにカーソルが当 …