2011-06-21 15 views
4

私はRuby on Rails 3に次のコードを書いています。クラス(またはid)を変数の値に設定して出力するのが好ましい方法は何ですか?RailsでHTMLタグを生成する好ましい方法は何ですか?

<%= tag "td", :class => @priority_level %><%= @priority_level %></td>

出力: <td class="normal">normal</td>

感謝。このため一般的に

答えて

10

content_tagヘルパーは時々エルブとHTMLを混ぜるよりも視覚的に、より魅力的である:

<%= content_tag(:td, @priority_level, :class => @priority_level) %> 

は、他のテンプレートオプションはデフォルトエルブ以外にそこにもあります。

%td{:class => @priority_level}= @priority_level 

Mustacheは:

<td class="{{priority_level}}">{{priority_level}}</td> 

私は両方がエルブよりも目に簡単ですと思い

はここHamlで同等です。 Erb-landに詰まっている場合、ヘルパーメソッドとパーシャルにコードをできるだけまとめることは、Erbテンプレートを視覚的に管理しやすくするための良い方法です。

4

私はこのようなタグを定義します

<td class="<%= @priority_level %>"><%= @priority_level %></td> 

Railsはそれが本当に必要以上に多くの作業を行うようにする理由はありません。

+0

ちょっと頑丈で冗長なように思えました...おそらくもっと良い方法があると思っていました... –

+0

これは奇抜で、よりコードに似たソリューションを探しているなら、[haml] http://haml-lang.com/)あなたの好みにもっと。 – Zabba