2

ERB を使用して CMS を構築しようとしています。ERB コードにモデルへの読み取り専用アクセスを与える方法はありますか? たとえば、自分のモデル (Model.all、Model.find_by_slug、Model.find_by_name、Model.other_model.name など) に関する情報を読み込めるようにしたいのですが、できるようにしたくありません。このデータを変更します。データベースを変更するコマンド (Model.save、Model.update、Model.delete、Model.destroy など) を実行する ERB を無効にできますか?

4

3 に答える 3

1

これを試してみてください: http://www.liquidmarkup.org/

于 2010-05-09T09:26:23.650 に答える
0

Rails コア開発者の Sven Fuchs によるセーフモードがあり、ユーザーをより安全にします

Liquid (私の目には痛い) や口ひげのようなテンプレート エンジンは、erb よりも習得が容易で、ユーザーに適用するのが簡単かもしれません。

于 2010-05-09T06:44:13.573 に答える
0

モデルの検索中に :readonly フラグを使用してみてください:

@posts = Post.find(:all, :readonly => true)

保存しようとすると、ReadOnlyRecord 例外がスローされます。しかし、ユーザーは ERB テンプレート内のアプリケーション変数へのアクセスを制限されていないため、テンプレートとして Liquid をお勧めします。

于 2010-05-23T13:50:32.677 に答える