19/2/19 [rails] gem 'devise'をインストールする手順
- Gemfileに下記を追記
gem 'devise' - $ bundle install
deviseが入ったことを確認 - $ rails g devise:install
- データベースにusersテーブルを作りたいとき
(Userモデルをつくる)
$ rails g devise User - 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