我正在尝试使用ERB构建CMS。有没有办法可以让ERB代码以只读方式访问您的模型?例如,我希望能够在我的模型上加载任何信息(Model.all,Model.find_by_slug,Model.find_by_name,Model.other_model.name等...),但我不希望能够更改此数据。你能否禁止ERB执行会导致数据库更改的命令(Model.save,Model.update,Model.delete,Model.destroy等)???
答案 0 :(得分:1)
答案 1 :(得分:0)
答案 2 :(得分:0)
尝试使用:在查找模型时使用readonly标志:
@posts = Post.find(:all, :readonly => true)
如果你试图保存它 - 将抛出ReadOnlyRecord异常。但我也建议使用Liquid作为模板,因为用户对ERB模板中的应用程序变量没有限制访问权限。