7

Markdownテキストをテキストエリアに入力し、投稿すると対応するhtmlが表示されます。私はRailsはあなただけERBファイルでそのフィールドを呼び出すことができることを、markdown方法または同様に呼び出されるメソッドを持っていたことを読んで:Markdown with Railsを使用する

<%= markdown(@post.content) %> 

はどうやら、Railsがその機能を取り出しました。その機能を再び利用する最も良い方法は何ですか?それは私の必要性を解決するようです。

答えて

12

私はRedcarpetを使用してmarkdown-html変換を行います。また、ビューから別のオブジェクトに変換を移動します。 callbacksbefore_save)を使用するか、Observersを使用します。 the docsから

markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, 
    :autolink => true, :space_after_headers => true) 

markdown.render("This is *bongos*, indeed.") 
#=> "<p>This is <em>bongos</em>, indeed</p>" 

あなたはおそらく別の列に結果を保存するには、ユーザーが作ることができるように、後にポストに編集し、プラスこの方法は、あなたがする必要はありません@post.content_parsedを言います要求ごとに変換されます。

+1

RailsアプリケーションでRedcarpet :: Markdownオブジェクトをインスタンス化するには、どこに最適ですか? –

+0

私は答えを広げました。 –

+1

Redcarpetのgithubページでは、 'Redcarpet :: Markdown'を一度インスタンス化し、必要に応じて' render'を呼び出すよう提案しています。理にかなっていますが、私は 'Redcarpet :: Markdown'をRailsアプリケーションで一度だけインスタンス化しますか? –

関連する問題