気ままにふりーだむ

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

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

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

関連記事

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

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

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

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

no image

jQueryで繰り返し処理each文を使ってみる!

each文のまとめです! jQueryでは配列、オブジェクト、jQueryオブジェクトが対応可能。 jQueryオブジェクトの場合、少し記載が異なります。 また途中終了する方法とスキップする方法を記載 …

[AWS]bundle exec cap production deployのエラーでつまった話

デプロイを行う際に発生したエラーで行なったことをメモ。 同じように困った方の参考になればと。 環境 ruby 2.3.1 Rails 5.0.7.2 MySQL git unicorn nginx c …

Materializeとsimple_formでシンプルでいい感じのフォームを作りたい!

マテリアルデザイン「Materialize」とフォームの記述がシンプルな「simple_form」の実装をしたので、メモ。 GemfileにGemを記載からのbundle install [crayo …