Используя 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 %>