そろそろ開発10 deviseの導入
deviseを導入する目的は「ユーザ管理」をする為であり、以下の3つのことを目的とする。
1.ユーザページ作成
2.集計を取りたい
3.ユーザ名をコンテンツ登録時に出したい
捻りも何もない...
1.deviseのgemインストール
gem 'devise', '~>3.0.0rc'
rails4を導入している場合、一応devise3以上を導入することが望ましい、と思う。
2.deviseをアプリにインストール
$ bundle exec rails generate devise:install
すると「あなたが手動でこれやらないと動かないよ」とメッセージが5つ。
1. Ensure you have defined default url options in your environments files. Here
is an example of default_url_options appropriate for a development environment
in config/environments/development.rb:config.action_mailer.default_url_options = { :host => 'localhost:3000' }
In production, :host should be set to the actual host of your application.
環境毎のconfigファイルに追記してくれ、と言っている。
config/environments/以下にある開発用、本番用、テスト用の.rbファイルの最後尾に追記。
2. Ensure you have defined root_url to *something* in your config/routes.rb.
For example:root :to => "home#index"
ルートのURLはしっかり入れろよ、ということです。アプリのフロントページになるmodelを#の前に、呼び出すメソッドを#の後に書いておけばOK。
3. Ensure you have flash messages in app/views/layouts/application.html.erb.
For example:
<%= notice %>
<%= alert %>
ログインした後、ページにフィードバックしたいから追記してくれ、と言っています。
app/views/layouts/application.html.erbの
4. If you are deploying Rails 3.1+ on Heroku, you may want to set:
config.assets.initialize_on_precompile = false
On config/application.rb forcing your application to not access the DB
or load models when precompiling your assets.
Rails3.1以上でHerokuを使うときはconfig/application.rbに書きなさいと言っているので、
今回はHerokuにお世話になるので、書く。
5. You can copy Devise views (for customization) to your app by running:
rails g devise:views
これはこの通りは無理。管理したいmodel名をviewsに置き換える必要がある。
$ bundle exec rails g devise User
こうすることにする。これでユーザ管理したいModelが出来たので、次はModelの定義をする。