こんにちは!
今までまっさらな状態からdeviseを入れることが多かったのですが、既存のプロジェクトかつtableにusersがある、という状態で何をすればdeviseを追加出来るのか、を調べたのでご確認ください!
と言っても基本は変わらない
はい、基本は変わらないです、なんかすみません。
まずはGemfileにdeviseを追加しましょう。
gem 'devise' # もしomniauth系使いたいときは以下も追加 # gem 'omniauth' # gem 'omniauth-twitter' とか 'omniauth-facebook' とか
bundle installしてアップデートしたら、次はbundle exec rails g devise userと打ちましょう。既存のuserモデルがあったとしても追記してくれるので安心です。
$ bundle exec rails g devise user
userモデルに追記されたと思うので必要なモジュールを追記するなり消すなりしましょう。
もしomniauth系のプラグインをGemfileに追記した人は、このときに omniauthableとかを入れることをお忘れなく。
class User < ActiveRecord::Base devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :confirmable, :omniauthable, omniauth_providers: [:twitter, :facebook] end
最後にデータベースを調整しましょう。
もし既存のデータベースにemailカラムやencrypted_passwordとかがある場合は注意しましょう。ここらへんは必要に応じて調整してください。
昔はmigration内ヘルパーが提供されてたようですが、今は利用出来ないことがほとんどだと思います。(2.0以上だと使えなくなっているので)
これで終わりです!以外と簡単でよかった!あとは色々アプリを調整するだけ!(これが面倒)
最後に
参考になりましたでしょうか。
もしよかったらFacebookページにいいね!とか押してもらえると嬉しいです!