在Rails中生成HTML标记的首选方法是什么?

时间:2011-06-21 02:38:04

标签: ruby-on-rails ruby-on-rails-3 html

我在Ruby on Rails中有以下代码3.将类(或id)设置为变量值并输出它的首选方法是什么?

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

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

感谢。

2 个答案:

答案 0 :(得分:10)

有时,content_tag帮助程序比混合Erb和HTML更具吸引力:

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

除了默认的Erb之外,还有其他模板选项。

以下是Haml中的等效内容:

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

Mustache

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

我认为两者在眼睛上比Erb更容易。如果你被困在Erb-land中,尽可能将代码组织成辅助方法和部分方法是保持Erb模板可视化管理的好方法。

答案 1 :(得分:4)

一般来说,我会像这样定义标签:

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

没有理由让Rails做更多的工作而不是真正需要做的事。