435 文字
2 分
deviseチュートリアル作りました
**コードはこちら:https://github.com/matsubo/devise_sample
**
- deviseの公式の手順書が分かりづらいので、シンプルな認証を実現するための要点を整理してみました!
- 細かい設定とか、自分のサイトにあった設定はこれを元にオプションを変更していただければと思います。
- 1手順ごとにコミットを分けてあるので、変更点が明確に分かるようになっています。
- 一部、手順が前後しても大丈夫なところがあるので間あり神経質にならなくても大丈夫です。
railsアプリケーション作成
% rails new devise_smaplescaffoldで適当なページを作る
% rails generate scaffold Post name:string title:string content:textテーブルを作成しておく
% rake db:migratedeviseモジュールをインストール
% echo "gem 'devise'" >> Gemfile% bundle installdeviseの設定をインストール
% rails generate devise:installこれを実行すると、いろいろ設定する事項が表示されるので次のように1つずつ設定していく。
デフォルトのリダイレクト先を追加
vi config/environments/development.rb
以下の行を追加
+ config.action_mailer.default_url_options = { :host => 'localhost:3000' }トップページがPostの一覧になるように設定
rootを以下のように設定
+ root :to => 'posts#index'メッセージ表示領域を追加
% vi app/views/layouts/application.html.erb+ <p><%= notice %></p>+ <p><%= alert %></p>herokuを使っている場合にはこの設定を行う
% vi config/application.rb + # devise setting for heroku + config.assets.initialize_on_precompile = falsedeviseで追加されるページのviewだけを作成
% rails g devise:views usersデフォルトのトップページを削除
% rm public/index.htmldeviseのmodelやrouteを追加する
% rails generate devise usersdevise用のテーブルを作成する
% rake db:migrateアクセスを制限したいコントローラに以下を追加する
% vi app/controllers/posts_controller.rb+ before_filter :authenticate_user!動作テスト
- 開いてみると、ログイン画面が表示されるはず。

deviseチュートリアル作りました
https://blog.teraren.com/posts/devise-tutorial/