Rails 3 - в каждом цикле печатается исходный HTML вместо данных - PullRequest
0 голосов
/ 26 июня 2011

Я решаю ситуацию с печатью данных из массива через каждый цикл.

в моем контроллере

@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 ]

2 голосов
/ 26 июня 2011

Почему вы помещаете 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 голос
/ 26 июня 2011

Вы должны смотреть на декодирование URL.Проверьте это .

1 голос
/ 26 июня 2011

попробуйте использовать raw например .:

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