既存のRails4プロジェクトにdeviseを途中から追加する

こんにちは!
今までまっさらな状態から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ページにいいね!とか押してもらえると嬉しいです!

tagamidaiki.comの著者が教えるプログラミングスクール – class Tech(クラステック)

更新情報はFacebookページで!

ブログの更新、読んで役立つ他ブログの記事などを更新しています。




関連のある記事