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

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

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

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

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

1 ответ

Решение

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 %>
Другие вопросы по тегам