开发者

Rails: storing erb templates in database

Is it 开发者_运维知识库possible to store erb templates in database? How?


Sure it is.

But I think, this is not the best solution if you only need some pages with same layout and different content.

If you really want ERBs saved in database, create some model with your ERBs saved in. Then you can call in controller code like this, to render that ERB.

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

Watch ERB.new parameters.


I found better way:

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

I use this action inside iframe or render the action from another views.


I'm also working on an almost same concept as you are working on. I also need my clients to create their own web sites

Initially i also had the idea of saving all the erbs in the database, but later i have given up that idea as even though it works for plain text pages, when you want to render components and partials it will not be easy.

and mainly i had problems on saving layout.erb files in the database

so i decided to go in a way that page will construct upon the subdomain

cheers, sameera

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜