使用液体和rails3在布局中渲染模板

时间:2013-04-19 18:49:52

标签: ruby-on-rails-3 liquid

您好我正在构建一个应用,我可以让用户编辑他们的模板和布局。我将模板存储在数据库中。

我有一个名为Theme and Template的模型,其中Theme has_many templates。

每个模板的液体代码和HTML都存储在内容属性(template.content)

主模板称为“主题”,另一个称为“页面”。所以我想启用方法include,这样我就可以将{{include page}}放在布局模板中。

到目前为止我有这个

<% if current_site.theme %>
<% @site = current_site %>
<% @theme = current_site.theme %>
<% @template = @theme.templates.find_by_name("theme") %>
<% Liquid::Template.file_system = Liquid::LocalFileSystem.new(@template) %>
<% liquid = Liquid::Template.parse(@template.content) %>
<%= raw liquid.render('site' => @site)  %>
<% end %>

但是我收到了这个错误

Liquid error: can't convert Template into String

我该如何渲染?

谢谢!

0 个答案:

没有答案