Rails 3 - 在每个循环中打印HTML源而不是数据

时间:2011-06-26 13:51:06

标签: ruby-on-rails loops view each

我正在解决通过每个循环从阵列打印数据的情况。

在我的控制器

@dost_arr = ["aaab", "bbb", "ccc"]

在视图中

                <% @dost_arr.each do |i| %>
                <%='<tr class="show_lines">'.html_safe%>
                    <%='<td colspan="2">x'+ (link_to i, request.request_uri+'&d=0')+'</td>'%>
                <%='</tr>'%>
            <%end%>

但这会产生类似这样的东西

<td colspan="2">x<a href="/hledani/index?utf8=%E2%9C%93&amp;n

作为源代码,所以我在浏览器中看到并没有自己的数据从数组格式化到表...

有人可以帮助我吗,我做错了什么?

谢谢

3 个答案:

答案 0 :(得分:2)

为什么要将html代码放在ruby代码中?使用这样的东西:

<% @dost_arr.each do |i| %>
    <tr class="show_lines">
       <td colspan="2">x + <%= (link_to i, request.request_uri+'&d=0')+'%> </td>
    </tr>
<% end %>

答案 1 :(得分:1)

尝试使用raw例如:

<%= raw '</tr>'%>

答案 2 :(得分:1)

你应该看看URL解码。检查this