ライルスビュー層の具体的な詳細(一)

1766 ワード

回転:http://ihower.tw/rails3/actionview.html
Templateサンプル
Templateの見本は何ですか?サーバーが最終的にブラウザに提供するフォーマットがHTMLファイルであることを知っていますが、Templateのサンプルは動的にHTMLを生成する方式です.
それに対して、プログラムなしで作成されたHTMファイルを静的HTMLで呼びます.
RailsはTemplateを生成するために設計された方式はEmbodRuby(ERb)であり、もしPHP、JSPまたはASPを使用したことがあるなら、この埋め込み式コードのスタイルを非常に熟知しています.これは最も直感的で学習しやすい方法です.例えば、以下の部分は現在の時間に埋め込まれたERbであり、中間<%= %>の部分はRubyプログラムである.
<h1><%= Time.now.to_s %></h1>
RailsのTemplateファイルの位置と名称も玄機があります.例えば、app/view/welcome/index.html.erbにとって、welcomeディレクトリはControllerの名前です.ファイルの第一段indexはそのActの名前です.ファイル名はどのような形式でどのようなタイプのファイルを生成するかを指定します.このような慣例があります.ERbを使ってHTMLを生成するとは限らないということは、すでに推測されているかもしれません.どんなTemplateエンジンを使いますか? )ファイルの作成とファイルのFormat形式は2回のことです.だから、ERbは実際にはCSV、XML、JavaScriptなど、任意のテキストファイルフォーマットを作るために使用できます.
できますが、ERbはXMLを生成する一番いい方法ではありません.通常はBulderでXMLを生成します.例えば、show.xml.builderというファイルです.
people do |p|
  p.person "test"
end
次のXMLが発生します.
<people>
  <person>test<person>
</people>
一般的なモデルエンジンとフォーマットの組み合わせは以下の通りです.
書式
エンジン
html、xhtml
erb
js
erb
xml、rss、atom
ブライダル
Template Handlerを拡張します.
RailsはERbとBuiderの2つのサンプルエンジンのみをセットしていますが、拡張は非常に簡単です.例えばRailsコミュニティでは、ERbの代わりにHAMLというサンプルエンジンを使うのも流行っています.HAMLは縮図技術を利用してHTMLの作成を簡略化したフォーマットです.例えば:
#content
  .box
    test
以下のHTMLが発生します.
<div id="content">
  <div class="box">
    test
  </div>
</div>
インストールに使用するには、Gemfileファイルにgem "haml-rails"を追加してbundle installを追加すればいいですが、ERbよりもHAMLを使用する方が、より効率的にHTMLサンプルを作成することができますが、チーム内のウェブデザイナーが協力して使用できるかどうかが必要です.