Странный рендеринг файла .html.erb - PullRequest
0 голосов
/ 26 июня 2011

Итак, у меня есть этот файл:

<h1>Calendar view</h1>

<div class="events">
    <% @events.each do |e| %>
        <%= raw(e.content)%>
    <% end %>
</div>


<br />
<div class="messages">
    <% @messages.each do |m| %>
        <%= raw(m.content)%>
    <% end %>
</div>

С @events и @messages в качестве допустимых переменных экземпляра в контроллере ... но когда я перехожу на страницу, html выглядит так:

<h1>Calendar view</h1>

<div class="events">
    <br>
      <div class="messages">
        This is another message test
      </div
    Event Content

</div>

Я в замешательстве.Может быть, я упускаю что-то очевидное?

1 Ответ

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

Проблема в том, что raw() будет выводить необработанный HTML-контент. Механизм шаблонов Rails попытается объединить его с предоставленным вами шаблоном .erb.

Поэтому, если либо m.content, либо e.content искажены, вы, скорее всего, получите неожиданный вывод.

Лучше всего искать синтаксические ошибки, особенно отсутствующие закрывающие элементы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...