0

ユーザーが独自のテンプレートを作成できるプラグインはありますか? だから私はsmthのようなものを使います

Templates.find(5).render(:val1 => val1, :val2 => val2)

Liquid という名前の優れたプラグインがありますが、安全ではないようです (ユーザーはデータベースなどを削除できます)。

ありがとうございました。

4

2 に答える 2

4

液体は非常に人気のあるテンプルシステムであり、安全であると考えられています。実際、それは設計目標の1つでした。液体のドキュメントから:

Liquidは、非常に特定の要件で作成されたテンプレートエンジンです。

美しくシンプルなマークアップが必要です。見栄えの良いマークアップを生成しないテンプレートエンジンは、使用するのが楽しいものではありません。

それは非評価的で安全である必要があります。リキッドテンプレートは、ユーザーが編集できるように作成されています。ユーザーが作成したコードをサーバーで実行する必要はありません。

ステートレスである必要があります。コンパイルとレンダリングのステップは別々にする必要があります。これにより、コストのかかる解析とコンパイルを1回実行でき、後でローカル変数とオブジェクトを使用してハッシュを渡してレンダリングすることができます。

于 2012-04-13T14:10:01.093 に答える
2

機関車 CMS は、それを行うと主張する Liquid と呼ばれる宝石を使用します。ここで確認してくださいhttp://rubygems.org/gems/liquid

于 2012-04-13T13:03:18.703 に答える