%>ログインに成功した暁には、ユーザ名など表示させつつねぎらってやろうという心意気である。link_toの引数として与えているlogout_urlは、config/routes.rbで設定した名前付きルートの定義(map.logout...の1行)によって加えられたヘルパーメソッドの一つで、logoutルートの適切なURLを返してくれる。詳しくはAPIリファレンス参照。おっと、表示に凝る(?)前に、そもそも認証が必要だという設定をしなければならなかった。app/controllers/welcome_controller.rbを、次のように編集する。:login_requiredこれでこのコントローラのアクションにアクセスするためには認証を経なければならなくなった。最後に、ちゃんとデフォルトでwelcomeコントローラを見に行くように設定する。config/routes.rbに次の一行を加える。"welcome"endそして、public/index.htmlを削除する。これをやっておかないと、Railsは問答無用でこのファイルを表示させてしまうのだ。動かしてみるそれでは、サーバを起動して動作を見てみる。script/serverブラウザでhttp://localhost:3000/にアクセス。次のように、ログイン画面が表示されればとりあえず成功したと思ってよい。welcome#indexを表示しようとしたが、ログインが要求されたのでログイン画面に飛ばされたのである。今はまだユーザを作っていないのでログインできない。サインアップ画面でユーザを作成しなければならない。そこで、http://localhost:3000/signupにアクセスする。本当はログイン画面にサインアップ画面へのリンクを書いておくべきなのだろうが、面倒なので今回はやらない。upボタンを押し、ユーザを作成する。うまくいけば、同時にログインも実行され、Welcome画面が表示されるはずだ。ログアウトリンクをクリックすれば、ログアウトが実行され、再びログイン画面に戻る。先ほどサインアップしたユーザで再びログイン可能だ。最初のほうで実行したgenerateコマンドなのだが。sessionsこれに渡すセッション管理コントローラの名前(この場合sessions)は、どうやら必ず複数形にしなければならないらしい。単数形の名称、例えばlogin_infoなんて名前を与えてみると、生成されるのはLoginInfoControllerだというのに認証時はLoginInfosControllerを参照しようとしてエラーになる。:login_infoと定義される部分に原因があるようだ。map.resourceは、名前付きルートに設定するコントローラの名前として、与えられたリソース名の複数形を使う。ところが、generateで単数形の名前を与えるとコントローラの名前も単数形になるため整合性が取れなくなるのだ。config/routes.rbで次のように書いてコントローラ名を明示的に指定すれば、単数形でも使える。'login_info'でも、こんな小手先の技使うより、素直に複数形にしておいたほうがいい。Railsに逆らわない、それがRailsを使う上での鉄則である。終わりrestful_authentication自身より、むしろRails2.0のREST実装の理解に苦戦した。up時にメールを送ってくる、よくあるやり方)やstateful認証を行うための機能もあるのだが、今回は触れていない。気が向いたらそのうち扱うかも知れない。4」を書いたCapistranoでタスクの実行対象サーバを絞り込む方法GitをHTTP経由で使うときのパスワードを安全に扱いたい月別アーカイブはてなブログをはじめよう!idesakuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。