
最近プラグイン作りが楽しすぎます。
作れば作るほど仕事が楽になること考えたら、テンション上がりすぎて会社のベランダで正拳突きしたくなるのも当たり前ですよね?
そんなステキプラグインですが、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分あれば、自動ログインやメール認証なんかもできちゃうんでオススメです。
押忍
Webセキュリティ特集
サーバ仮想化・グリーン化の利点を最大化!
「シンプル」&「低コスト」な運用管理
APC SOLUTIONS FORUM 2008をレポート
Techno Exchange
ZDNet Japan Green IT
セキュリティ対策レベルテスト公開!
ログ管理ソリューション特集
ZDNet Japan ホスティング特集
フォトレポート:注目の「iPhone 3G」アプリトップ10
フォトレポート:コスプレーヤー、コミックの祭典に集合--Comic-Con 2008
フォトレポート:絵で見る「Internet Explorer 8」ベータ2