ruby on rails でログイン機能

| | コメント(0) | トラックバック(0)

railsなら当然ログイン機能だって一から作るわきゃーない。
プラグインがあるわけだけど、いくつかある。

1.login_engine
2.login_generator
3.Acts_as_authenticated

1は、もう開発がされてないっぽいので辞めたほうがいい。
2が今現在ググったりしてると一番目に付くが、今回は3を採用することにした。

というのも3は2の拡張ということで、普通に考えれば2より良いもののはずだからだ。
追記(6/1):Acts_as_authenticatedももはやメンテナンスされないらしく、今後はrestful_authenticationってやつらしいです。はい。失礼しました。

ここのサイトを参考に勧める。
http://wiki.rubyonrails.org/rails/pages/Acts_as_authenticated

あと、認証の条件として、amazonとかみたいにEメールアドレスをIDとして使用する仕様でいく。

1.インストール
コマンドプロンプト立ち上げてアプリケーションルートに移動後

ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/acts_as_authenticated

2.なんかいろいろ生成
RadrailsのGeneratorタブからそれぞれ
authenticated user account
と入れてGO。
※authenticatedはドロップダウンにはないので手入力

3.僕はPostgreSQLなので

CREATE TABLE "users" ( "id" SERIAL NOT NULL UNIQUE, "login" TEXT, "password" TEXT, PRIMARY KEY("id") ) WITH OIDS;

とテーブル作成

うわさではコレでとりあえず動くらしい、ということで


http://localhost:3002/account/

※ふつうポートは3000

にアクセス。エラー


=======================
undefined method `email'
=======================

そらそうだ。

で、ここで気づいたんだけど/acoountにアクセスすると普通だとindexに飛ばされるはずだけど、めぐりめぐってsignupに飛んでいる。account_controller.rbをみてみるとindexに、Userデータが1件もなかったらsignupに飛ぶって書いてあった。
うーん、これって1件でもデータがあったら使われないなんだよね。いるのかな。。

で、まあとにかくエラーの対処として、signup.rhtmlからemail関連のタグをばっさり消す。

これで再度/accountにアクセスしたら無事、表示できました。

うひょーと思って、とりあえず何も入力せずに「sign up」ボタンを押したらエラー。

続きは明日以降で。

トラックバック(0)

このブログ記事を参照しているブログ一覧: ruby on rails でログイン機能

このブログ記事に対するトラックバックURL: http://hirop0164.s326.xrea.com/mt/mt-tb.cgi/170

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ぴろしが2008年5月30日 01:57に書いたブログ記事です。

ひとつ前のブログ記事は「Seesaaブログのあるべき姿-HTMLテンプレートの編集」です。

次のブログ記事は「ruby on rails でログイン機能2」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。