Это мера безопасности, которая теперь встроена в Rails 3. Она предотвращает проблемы XSS (межсайтовый скриптинг).
Если вы добавите raw
, вы получите желаемый результат.
<% @posts.each do |post| %>
<h1><%=raw post["name"]%></h1>
<p><%=raw post["body"] %></p>
<p><%=raw post["timestamp"]%></p>
<% end %>
Однако, если вы храните произвольный HTML, созданный пользователем, я не рекомендую вам делать это, если вы не санируете ввод перед сохранением его в базе данных.
Редактировать:
Другой вариант: использование помощника sanitize
вместо raw
, например <%=sanitize post["name"], :tags => "p" %>
, чтобы разрешить <p>
теги.