Используя RDiscount, где мне делать фактическое форматирование? - PullRequest
5 голосов
/ 09 февраля 2011

Я использую RDiscount, но мои навыки Ruby on Rails ограничены.RDiscount имеет функцию .to_html, которая преобразует текст Markdown в HTML.Итак, вот сценарий:

<% @posts.each do |post| %><br> <h3><%= post.title %></h3><br> <%= post.content %><br> <% end %>

post.content - это то, что я хочу преобразовать в html.

1) Где я должен создать метод для преобразования строкив HTML?
2) Как я не позволю RoR избежать HTML, который возвращает RDiscount.to_html?

1 Ответ

11 голосов
/ 09 февраля 2011

1) Желательно в помощнике. 2) Вызвав html_safe для полученной строки.

Я не использовал уценку в приложении Rails 3, которое по умолчанию экранирует контент, но создалпомощник, похожий на метод h из предыдущих Rails 3, который преобразовал уценку в html.Подход для Rails 3 будет выглядеть примерно так:

module Helper
  def m(string)
    RDiscount.new(string).to_html.html_safe
  end
end

в представлении

<% @posts.each do |post| %>
  <h3><%= post.title %></h3>
  <%= m post.content %>
<% end %>
...