2011-07-28 9 views
0

libディレクトリにあるFooという名前のクラスを持つRailsプロジェクトがあるとしましょう。/lib内のコードからのレンダービュー

その属性に基づいてHTMLを生成する必要があります。

ここで、HTMLフラグメントを適切に連結して大きな文字列を作成することは、少なくとも少しは気にしません。

私の質問です:それを行うには祝福された方法はありますか?

答えて

3

あなたはかなり簡単なオプションをいくつか持っています。 HAMLテンプレートをレンダリングするために私のアプリケーションの一つで、私はチルト(https://github.com/rtomayko/tilt)と呼ばれるライブラリを使用してい

ERB.new(File.read(the_file_path)).result 

:あなたはERBを使用している場合は、あなたのような何かを行うことができます。ここで私は今実行している正確なソーセージ工場のコードは次のとおりです。

template = Tilt.new(ITEM_TEMPLATE) # ITEM_TEMPLATE is the path of a .haml file 
template.render nil, {:item => item, :item_details => item_details} 
# item and item_details are now available as local variables in the partial 

あなたはテンプレートのルートを移動したくない場合、あなたは(http://erector.rubyforge.org/脊柱のような何かを試みることができますuserguide.html)も同様です。

最悪のシナリオ:代わりにフラグメントを連結した、あなたはうまくそれをフォーマットするためにヒアドキュメントを使用することができます。

<<-HTML 
    <div id="foo"> 
    <span class="bar">#{thing.method}</span> 
    <div>#{thing.attribute}</div> 
    </div> 
HTML 
+0

は、非常に多くの@Kyle、ありがとうございました。 –

関連する問題