Rails でブログを作成していますが、Redcarpet を使用してマークダウンでブログ コンテンツを生成することにしました。問題は、画像をレンダリングできないことです。
次のマークダウン構文を試しました。
![test](/image.png)
また、html 画像タグを使用してみました:
<img src="/image.png">
また、埋め込まれた Ruby イメージタグも試しました。
<%= image_tag "image.png"%>
私の画像は app/assets/images フォルダーに正しく配置されています。Redcarpet または私のパス名のオプションと関係がありますか? オンラインで見つけた例を使用して、次のヘルパーメソッドを使用しました
def markdown(text)
options = {
fenced_code_blocks: true,
no_intra_emphasis:true,
lax_html_blocks: true
}
extensions = {
autolink: true,
superscript: true,
disable_indented_code_blocks: true
}
renderer = Redcarpet::Render::HTML.new(options)
markdown = Redcarpet::Markdown.new(renderer, extensions)
markdown.render(text).html_safe
end
私の show.html.erb ファイルは次のようになります。
<div class="container-fluid">
<h3><%= @post.title %></h3>
<%=@post.created_at.to_date%>
<p>
<%= markdown(@post.text)%>
<p>
<br>
<%= link_to 'Back to all posts.', posts_path%>
</div>