devise を使って認証機能をつけてみます

devise認証イメージ

参考にさせていただいたページ

rails3とユーザー認証プラグイン- Devise-で、とりあえず「Sign up」「Sign in」「Sign out」ができるようにしてみる

環境

  • Mac OS X 10.8.4
  • Ruby 1.9.3p429
  • Rails 3.2.13

プロジェクトの作成などの前準備

Gemfileに

を追加する。

インストールなど

以下をターミナルで実行します。

セットアップ方法が表示されるのでだいたいその通りに。

設定

config/routes.rbのdo~endの間に以下を追加

デフォルトページの削除

app/views/layouts/application.html.erbの適当な場所に以下を追加

app/controllers/home_controller.rbの2行目に以下を追加

サーバ起動( $ rails s )して、ブラウザで

http://localhost:3000

へアクセスし認証ページが出る事を確認する。
一応ここまでで認証機能が動いていそう。
ユーザ登録などして試してみる。

次は、ログイン中には「Sign out」を表示してクリックしたらログアウト出来るように

app/views/layouts/application.html.erbへ以下を追加

表示されるようになった「Sign out」というリンクをクリックするとRouting Errorになりました。

で確認してみます。

どうやらGETではなく、DELETEというHTTPメソッドで渡さなければならないみたいです。

これには:method => :deleteを追加すれば良いみたいです。
app/views/layouts/application.html.erb を開いて、

今度はログアウトできました。

こういうブログもありました。

人気のあるブログ: