做一些集成工作與另一個網站我有需要在運行時創建佈局的不尋常的要求。渲染布局存儲在數據庫中
在我不得不求助於像這樣的時刻:
def new
body = render_to_string 'new', :layout => false
page = add_layout(body, db.load_template)
render :text => page
end
這是一個有點尷尬,我寧願做這樣的事情:
def new
...
render 'new', :layout => db.load_template
end
是否有一個更清潔如何做到這一點?也許可以在運行時註冊新的佈局,並使用正常的語法?
謝謝,該項目沒有做我想要的東西,但我看了一下源代碼,看看它們是如何做的。他們註冊了ActionView :: Resolver的一個子類,它允許您以任何您想要的方式提供模板。 – opsb 2011-06-15 12:59:17