acts_as_authenticated

吉見和也(Kazuya Yoshimi) 2007-10-12 23:37:21

フロー1.jpg

最近プラグイン作りが楽しすぎます。

作れば作るほど仕事が楽になること考えたら、テンション上がりすぎて会社のベランダで正拳突きしたくなるのも当たり前ですよね?

そんなステキプラグインですが、toytterでも使っています。

本当はフルスクラッチで10分目指したかったんだけど、実際の開発でもほとんど毎回使っているプラグインなんで、大目に見てやってください。

今回利用した「acts_as_authenticated」というプラグインを使うと、ユーザー登録やログイン管理を簡単に実装することができます。次のコマンドをコンソールから入力して、プラグインをインストールしてください。

 

./script/plugin source http://svn.techno-weenie.net/projects/plugins

 

./script/plugin install acts_as_authenticated

 

動画の中では1行目を実行していませんが、このプラグインをインストールするのが初めてなら1行目も必要になります。

acts_as_authenticatedのインストールによって、authenticatedというジェネレーターが使えるようになっています。インストールしただけでは何もしてくれないプラグインですので、ジェネレーターを実行しちゃいましょう。

 

./script/generate authenticated user account

 

後ろにくっつけた「user account」はモデル名をUser、そのモデルを扱うコントローラー名をAccountControllerと指定しています。

ここまでで40秒。プラグインのダウンロードに結構時間とられちゃいました。

ついでなので時間を少し飛ばして、acts_as_authenticatedの説明を続けますね。

先ほど生成されたaccount_controller.rbの冒頭あたりの数行は、ユーザー登録だけでなく、アプリケーション全体で必要な記述です。こういったものはapp/controllers/application.rbに書いておくと幸せになれます。

 

include AuthenticatedSystem

 

before_filter :login_from_cookie

# この2行をaccount_controller.rbから消して、application.rbに移す

 

そしてもう一点修正します。account_controller.rbの中に、ログインした後にリダイレクトされるアドレスが書いてあるんですが、これが「/account」になっています。

これだとログインする度に英語の詩を読まされることになりますので、リダイレクト先をルートに置換しています

 

「/account」 => 「/」

 

これでユーザー登録からログイン・ログアウトまで完成です。今回はやってませんが、あと1,2分あれば、自動ログインやメール認証なんかもできちゃうんでオススメです。

押忍

※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。

SpecialPR