2013-05-14 88 views
0

我有一個字符串存儲在我的數據庫中,用作自定義佈局。是否可以將字符串轉換爲部分?

我想他們解析自定義佈局我的應用程序佈局內,通過使用:

render_to_string(partial: custom_template, layout: "pdf_template", locals: locals) 

哪裏custom_template是從數據庫中的字符串。但是,當我嘗試這樣做時,我得到:

NoMethodError: undefined method `to_sym' for nil:NilClass 

是否可以做我在做的事情?如果是這樣,我能做些什麼來完成這個?

我注意到,我可以嘗試這樣的事情:

render_to_string(text: template, locals: locals, template: "pdf_template") 

而且

render_to_string(inline: template, locals: locals, template: "pdf_template") 

但這樣做,它突然找不到模板和回報:

ActionView::MissingTemplate: Missing template layouts/pdf_template with {:handlers=>[:erb, :builder, :coffee, :haml], :formats=>[:pdf], :locale=>[:en, :en]}. Searched in: 
    * "/Users/elephanttrip/Sites/shasta/app/views" 

這很奇怪,因爲它在當前位置和定義中工作正常。

回答

0

如果你想在數據庫中存儲你的視圖,默認情況下你應該使用另一個渲染引擎而不是Rails。檢查液體寶石(http://railscasts.com/episodes/118-liquid,http://rubygems.org/gems/liquid)。

例如,我們使用這個gem爲我們的maillists呈現電子郵件(他們的模板存儲在數據庫中)。

+0

是的我在這個過程中實際上使用液體。但我試圖用全球「包裝」來包裝「他們」的佈局,這也是我們的佈局。我不相信Liquid處理那個。 – Trip 2013-05-14 12:59:44

相關問題