コントローラを見たので、次はビューだ。
~/rails/demo$ ls app/views/users edit.html.erb index.html.erb new.html.erb show.html.erb テンプレートが rhtml ではなく、html.erb になっている。index.html.erb の内容を見てみよう。 ~/rails/demo$ cat app/views/users/index.html.erb <h1>Listing users</h1> <table> <tr> <th>Name</th> <th>Password</th> <th>Email</th> <th>Is admin</th> </tr> <% for user in @users %> <tr> <td><%=h user.name %></td> <td><%=h user.password %></td> <td><%=h user.email %></td> <td><%=h user.is_admin %></td> <td><%= link_to 'Show', user %></td> <td><%= link_to 'Edit', edit_user_path(user) %></td> <td><%= link_to 'Destroy', user, :confirm => 'Are you sure?', :method => :delete %></td> </tr> <% end %> </table> <br /> <%= link_to 'New user', new_user_path %> rhtml のボディの中身だけが書かれている。こんなのでいいのかと思うが、試しにテストのテンプレートを作ってみた。 ~/rails/demo$ vi app/views/users/test.html.erb .... <h1>Test Template</h1> .... コントローラに test アクションを追加する。 ~/rails/demo$ vi app/views/users_controller.rb ... class UsersController < ApplicationController ... def test end ... end Firefox で、http://localhost:3000/users/test/1 にアクセスするとテンプレートが表示される。 test/1 の 1 は何だろうと思うかもしれない。最初 ....../test だけでアクセスしたらエラーになった。アクションにダミーの引数1をつけて ..../test/1 としたら動いた。新しいコントローラの仕様なのかどうかは不明。マニュアルをまだ読んでいない。なお、テンプレートは以前のように、rhtml をきちんと書いても動作する。 上のテンプレートで、<%=h となっているところがあるが、h はHTML文書の特定文字をエスケープするメソッド。<%=h 'hello<br>world' %> と <% 'hello<br>world' %> の表示のされかたの違いを比べるとわかる。
by tnomura9
| 2008-10-13 21:18
| Ruby
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||