私は現在、Michael Hartl のRails チュートリアルに取り組んでおり、この本でカバーされていない他のことを試しています。静的ページを作成する第 5 章を完了した後、ビュー コードを HAML に変更し、ページを国際化し、静的コンテンツを別の (部分的ではない) Markdown ファイルに配置し、RDiscount gem を使用してそれらをレンダリングすることにしました。例えば:
アプリ/ビュー/static_pages/about.html.haml
- provide(:title, t('.about_us'))
:markdown
#{render file: "static_pages/about.#{params[:locale]}.md"}
static_pagesディレクトリの下に、about.en.md、about.it.md、about.ja.mdなどの Markdown ファイルがあるため、パラメータの補間によって、:locale
どの言語の Markdown ファイルがレンダリングされるかが決まります。
私の質問は次のとおりです。
- static_pagesディレクトリは Markdown ファイルで少し混み合っているため、これらの Markdown ファイルを保持するための賢明なデフォルト/ベスト プラクティスの場所 (おそらく app ディレクトリの外)はありますか?アプリの内部の仕組みを知っていますか?
- ビューで多言語 Markdown ファイルのレンダリングを実装するより良い方法はありますか? 私の使用
:locale
と二重文字列補間はエレガントではないようです。 Ruby 変数を Markdown ファイルに渡すことができるように、このコードを変更する方法はありますか? たとえば、about.en.mdを HAML パーシャル ( _about.en.html.haml
#{language}
) に変更するだけで、Markdown で変数を使用し、コードを次のように変更できることがわかっています。アプリ/ビュー/static_pages/about.html.haml
- provide(:title, t('.about_us')) :markdown #{render "about.#{params[:locale]}", language: 'Markdown!'}
しかし、Markdown ファイルを別の種類のファイルに変更せずにこれを行う方法はありますか? そのような方法が存在する場合、それは推奨/実行可能ですか?