在控制器中渲染液体模板

时间:2012-07-29 20:28:22

标签: ruby-on-rails ruby-on-rails-3 template-engine templating liquid

我正在尝试让我的页面控制器的“show”操作呈现Liquid模板而不是普通视图。模板本身存储在数据库中。

这是我的节目动作:

  def show
    @organization = Organization.find_by_subdomain(request.subdomain)
    @template = Liquid::Template.parse(Template.find(@organization.current_template))
    @page = @organization.pages.find(params[:id])

    respond_to do |format|
      format.html { render @template.render('page' => @page)}
      format.json { render json: @page }
    end
  end

然而,它引发了这个例外:

uninitialized constant PagesController::Liquid

我是一个RoR新手,所以我假设正在发生的事情是它试图在PagesController类中找到Liquid类,而不是意识到它本身就是一个类。我尽可能地遵循(略微稀疏)的指示here

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您需要在Gemfile中包含液体:

gem "liquid"

然后运行bundle install并重新启动rails服务器。