是否可以将字符串转换为部分字符串?

时间:2013-05-14 12:41:50

标签: ruby-on-rails partial-views

我有一个存储在我的数据库中的字符串,用作自定义布局。

我想通过使用:

解析我的应用布局中的自定义布局
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"

这很奇怪,因为它在当前的位置和定义上运行良好。

1 个答案:

答案 0 :(得分:0)

如果要将视图存储在数据库中,则应默认使用其他渲染引擎而不是Rails。检查液体 gem(http://railscasts.com/episodes/118-liquidhttp://rubygems.org/gems/liquid)。

例如,我们使用此gem为我们的maillists呈现电子邮件(他们的模板存储在数据库中)。