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

B S*_*ven 4 html ruby-on-rails ruby-on-rails-3

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

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

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

谢谢.

jde*_*eno 10

content_tag帮助程序有时在视觉上比混合Erb和HTML更具吸引力:

<%= content_tag(:td, @priority_level, :class => @priority_level) %>
Run Code Online (Sandbox Code Playgroud)

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

这是Haml中的等价物:

%td{:class => @priority_level}= @priority_level
Run Code Online (Sandbox Code Playgroud)

胡子:

<td class="{{priority_level}}">{{priority_level}}</td>
Run Code Online (Sandbox Code Playgroud)

我认为两者都比Erb更容易.如果你陷入Erb-land,尽可能将代码组织成辅助方法和部分方法是保持Erb模板可视化管理的好方法.