6

是否可以将erb模板存储在数据库中?如何?

4

3 回答 3

6

是的。

但我认为,如果您只需要一些具有相同布局和不同内容的页面,这不是最好的解决方案。

如果您真的希望 ERB 保存在数据库中,请使用保存的 ERB 创建一些模型。然后您可以像这样调用控制器代码来渲染该 ERB。

erb = ERB_model.find(...)
@some_model_data = SomeModel.find(...)
erb = ERB.new(erb.source)
render :text => erb.result, :layout => true (or another)

观看ERB.new参数。

于 2010-04-18T02:29:33.807 回答
3

我找到了更好的方法:

def show
  @modal_popup = ModalPopup.find(params[:id])
  # erb = ERB.new(@modal_popup.content)
  # render :text => erb.result, :layout => false
  render :inline => @modal_popup.content, :layout => false
end

我在 iframe 中使用此操作或从其他视图呈现操作。

于 2013-03-26T08:25:24.697 回答
2

我也在研究与您正在研究的几乎相同的概念。我还需要我的客户创建自己的网站

最初我也有将所有 erb 保存在数据库中的想法,但后来我放弃了这个想法,因为即使它适用于纯文本页面,但当你想要渲染组件和部分时,这并不容易。

主要是我在数据库中保存 layout.erb 文件时遇到了问题

所以我决定采用一种页面将在子域上构建的方式

干杯,萨梅拉

于 2010-04-18T14:42:10.250 回答