2012年11月10日土曜日

13日目:Viewを見る。

先日作った、Rails Scaffoldでできたものを確認してます。
今日はViewを確認します。
 ls app/view/users 
 _form.html.erb edit.html.erb index.html.erb new.html.erb show.html.erb 
erbとはembedded Rubyの略で、JSPみたいにファイルをかけます。

JSPと同じく、
<% %>
の中にRubyスクリプトを書けて、
<%= %>
で、値を出力できます。

便利そうなのが、Railsがerb中にかけるように用意しているビューヘルパーというメソッドたちです。
例えば、index.html.erbに書かれている
<%= link_to 'Show', user %>
は、link_toというビューヘルパーを使っていて、ブラウザには以下のように出力されます。
<a href="/users/2">Show</a>
htmlを出力する処理は、Railsに必要なビューヘルパーが用意されていないかを確認しながら実装したほうがよさそうですね。
ビューヘルパーは自分で作ることもできるので、綺麗に実装できそうです。
でも、記法はEL式のほうがエレガントかな。

erbファイルはコントローラで出力するerbファイルを指定できますが、指定しない場合は
view/コントローラ名/メソッド名.html.erb
が呼ばれます。

Railsではレイアウトファイルが用意されていて、デフォルトではすべてのerbファイルは
app/view/layouts/application.html.erb
に組み込まれてブラウザに出力されます。

_が頭につくerbファイルは部分ビューで、他のerbファイルに組み込まれます。_form.html.erbはnew.html.erbの
<%= render 'form' %>
で読み込まれています。

ビューヘルパー、素敵そう。

0 件のコメント:

コメントを投稿