0
<% @ticket.conversations.each do |c| %>

<section class="messages">

<%="<li> #{c.the_message} </li>" %>

</section>

<%end%>

我试图让 rails 为我编写 HTML 代码,所以输出看起来像这样:

<li>MESSAGE1</li>
<li>MESSAGE2</li>
<li>Next message here...</li>

我将为每个第 n 个元素设置样式,使其具有不同的样式,以显示它属于哪个扬声器。但目前只是输出直接文本并转义 HTML。我该如何阻止这种逃跑?

4

3 回答 3

2

要输出,您需要<%=在块中使用如下<section>

<%= "<li> #{c.the_message} </li>".html_safe %>

但目前只是输出直接文本并转义 HTML

您可以使用该html_safe方法。请参考本文档中的“字符串扩展”主题:http: //guides.rubyonrails.org/active_support_core_extensions.html

您可以使用的另一个选项是raw帮助器(如 Stefan 所指出的),它html_safe为您调用 。例如

<%= raw "<li> #{c.the_message} </li>" %>
于 2013-07-24T16:06:57.793 回答
0

您还可以通过以下方式设置列表项的样式:

<li><%= c.the_message %></li>

只是根据喜好。

于 2013-07-24T16:11:16.120 回答
0

试试这种方式:

<% @ticket.conversations.each do |c| %>
  <section class="messages">
    <li><%= c.the_message %></li>
  </section>
<% end %>

或者,如果您不想<section>每次都重复:

<section class="messages">
  <% @ticket.conversations.each do |c| %>
    <li><%= c.the_message %></li>
  <% end %>
</section>
于 2013-07-24T16:11:31.973 回答