0

私は、ユーザーが構成ファイルを作成するための非常に基本的なテンプレートエンジンとしてMustacheを使用しています。これらはhtmlではなくプレーンテキストとしてフォーマットする必要があります。

現在、HTMLテンプレートで正常に機能していますが、プレーンテキストとしてレンダリングできません。

HTMLテンプレートに次のものがあります。

 <div id="network" data-json-url="<%= @nas %>">
 <div id="sampleArea2"></div>
 <script id="network_details" type="text/template">
 <%= simple_format(@location.body) %>
 </script>

@ location.bodyは、ユーザーが編集可能なテキスト領域です。

 option foo {{ location_sausage }}
 option bar '{{ location_sheep }}'

これは次のようなものを出力します:

 option foo barbara
 option bar 'margo'

これをプレーンテキストに変換する簡単な方法はありますか?以前は、口ひげの前に、コントローラーで使用していました:

 format.text

- アップデート -

以前はerbを使用していましたが、ビュー内のフィールドをテキストとしてレンダリングするために次のようなことを行いました。

 <%= (ERB.new(@config.body).result(binding)).html_safe %>

これを次のように置き換えてみました:

 <%= Mustache.render(@config.body).html_safe %>

ただし、リクエストでフェッチされたデータはありません。

どんな提案も歓迎します。

4

1 に答える 1

0

私は正しいものを使用しました:

 <%= Mustache.render(@config.body).html_safe %>

変数をより適切に定義する必要があることがわかりました。

 <%= Mustache.to_html(@config.body, @location).html_safe %>

それが誰かに役立つことを願っています

于 2012-11-10T16:17:03.660 に答える