5

RDiscountを使用していますが、RubyonRailsのスキルが制限されています。RDiscountには、MarkdownテキストをHTMLに変換する.to_html関数があります。シナリオは次のとおりです。

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

post.contentは私がhtmlに変換したいものです。

1)文字列をHTMLに変換するメソッドはどこに作成すればよいですか?
2)RoRがRDiscount.to_htmlが返すHTMLをエスケープしないようにするにはどうすればよいですか?

4

1 に答える 1

11

1)できれば、ヘルパーで2)結果の文字列でhtml_safeを呼び出す

デフォルトでコンテンツをエスケープするRails3アプリでマークダウンを使用していませんがh、マークダウンをhtmlに変換する以前のRails3の方法と同様のヘルパーを作成しました。Rails3のアプローチは次のようになります

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 %>
于 2011-02-09T17:29:00.547 に答える