mmyoji's diary

プログラミングとか日々のどうでもいいこととか

Railsのpartialを文字列呼び出しとして使う

タイトルそのままなんですけど、今日色々遊んでたら気付いたのでメモ

*.md とか *.text とかを render "*.md" とかってすればただの文字列として呼べる、ってだけの話です。

app/views/sample.html.erb

<div class="container">
  <%= render "sample_content.md" %>
</div>

app/views/_sample_content.md

# Sample Title

* foo
* bar
* buz

こんな感じで文字列として呼べます。 .text とかでもいけるのでただの文字列を呼び出したい時に使うといいんじゃないでしょうか?

何をしたかったかというと、エディタの恩恵を受けたかったので .md を使いたかったってのと、先の投稿で書いたhelperメソッドを使いたかったのでこういう感じでできないか試してみました。

例えば先の例を使うと

  <%= md2html render("sample_content.md") %>

みたいな感じで全然使えます。

markdown-rails ってgemもあってこれを使えば sample.html.md のようにすることはできるんですが、Emojiが使えないのでhelperメソッド有効活用するために今回はこういう風にしました。

面白かった。