Gemfileに必要なモジュールを記述する。
■Gemfile
gem 'devise' gem 'omniauth' gem 'omniauth-twitter' gem 'omniauth-facebook'
Deviseのインストール。
$ rails g devise:install Running via Spring preloader in process 3689 Expected string default value for '--jbuilder'; got true (boolean) create config/initializers/devise.rb create config/locales/devise.en.yml
deviseの設定ファイルが生成される。
■config/initializer/devise.rb
Devise.setup do |config| ・・・ end
■db/migrate/YYYYMMDDhhmmss_add_devise_to_users.rb
class AddDeviseToUsers < ActiveRecord::Migration[5.0] ・・・ end
Userモデルを作成する。
$ rails g devise User Running via Spring preloader in process 3757 Expected string default value for '--jbuilder'; got true (boolean) invoke active_record identical db/migrate/20170130065955_add_devise_to_users.rb insert app/models/user.rb route devise_for :users
DBのマイグレーションを実行。
$ rails db:migrate == 20170130065955 AddDeviseToUsers: migrating ================================= -- change_table(:users) -> 0.3352s -- add_index(:users, :email, {:unique=>true}) -> 0.0278s -- add_index(:users, :reset_password_token, {:unique=>true}) -> 0.0336s == 20170130065955 AddDeviseToUsers: migrated (0.3970s) ========================
■ハマった点。
下記のエラーに悩まされた。
上記を順番通りに実行すれば、問題ないはず。
dynamic_matchers.rb:21:in `method_missing': undefined method `devise' for User