Rails: link_to でコントローラを指定する2006年11月20日 14時34分16秒

Rails で user_engine を実験している。設定を終わらせると、http://localhost:3000/user/login からログインが出来る。ログイン後に表示されるページは、vendor/plugins/login_engine/app/views/user/home.rhtml にある。もし、ログイン後の画面を変更したいのなら、app/views/user/home.rhtml に新しく作るとこちらが使われる。

user_engine の home.rhtml には


 <%= link_to '« logout', :action =gt; 'logout' %>

と記述がある。リンクを作り、usr/logout に飛ぶと言う意味だ。Todo のページにどうすれば飛べるのか、すぐにはわからなかった。action に todos/list とやると、http://localhost:3000/user/todos/list にリンクが出来てしまう。http://localhost:3000/todos/list にリンクをしたかったのだ。

結局、


 <%= link_to 'List Todos', {:controller => 'todos', :action => 'list'} %>

とやると、todos/list に飛べる事が判った。

Ruby on Railsが総本山だ。そこから、Rails Framework Documentaion にリンクがある。こちらに、Rails の API が並べてある。

link_to は url_for の派生クラスのようだ。そこで、:controller を指定することにより、http://localhost:3000/todos/list にリンクすることが出来た。

URL作成機能(url_for, link_to)にも記述されていたが、最初に調べたときはうまく見つけられなかった。

前回次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2006/11/20/961771/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。