19/2/19 [rails] gem 'devise'をインストールする手順

  1. Gemfileに下記を追記
    gem 'devise'

  2. $ bundle install
    deviseが入ったことを確認

  3. $ rails g devise:install

  4. データベースにusersテーブルを作りたいとき
    (Userモデルをつくる)
    $ rails g devise User

  5. bundle exec rake db:migrate
    4.で作成されたモデル、マイグレーションの内容でusersテーブルを作成

 

●「devise」用のビューファイルを作る

deviseではデフォルトのビューがある

このデフォルトのビューを編集したい場合の手順
$ rails g devise:views

でビューの作成

以下、作成されるもの

app/views/devise/confirmations/new.html.erb
app/views/devise/passwords/edit.html.erb
app/views/devise/passwords/new.html.erb
app/views/devise/registrations/edit.html.erb
app/views/devise/registrations/new.html.erb
app/views/devise/sessions/new.html.erb
app/views/devise/unlocks/new.html.erb
app/views/devise/mailer/confirmation_instructions.html.erb
app/views/devise/mailer/email_changed.html.erb
app/views/devise/mailer/password_change.html.erb
app/views/devise/mailer/reset_password_instructions.html.erb
app/views/devise/mailer/unlock_instructions.html.erb

この時点では、hamlでなく、erbでビュー表示確認できる。

次、hamlに変換してみる。

$ rake haml:replace_erbs

完了。

動作確認問題なし。

 

●サインアップ機能の追加

ユーザー名のような、deviseのデフォルトではないカラムのデータを保存したい場合

 


コントローラでアクションを設定 application_controller.rb
 ストロングパラメータも追加

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
  before_action :authenticate_user!
  before_action :configure_permitted_parameters, if: :devise_controller?

  protected
  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
  end
end