English 中文(简体)
你们如何在使用液体模板语言的布局内提供模板?
原标题:How can you render a template within a layout using Liquid template language?
  • 时间:2009-08-15 23:03:24
  •  标签:

I m试图在液体布局内提供液态模板(Liquid Template lang,而不是CSS液体布局)。 我看不出布局。 目前使用:

assigns = { page_name  =>  test }
@layout = Liquid::Template.parse(File.new(@theme.layout.path).read)
@template = Liquid::Template.parse(File.new(self.template.path).read)

@rend_temp = @template.render(assigns)
@rend_layout = @layout.render({ content_for_layout  => @rend_temp})

render :text => @rend_layout, :content_type => :html

由此形成的超文本显示,该模板是用液体罚款制作的,但该模板用布局(将内容放在格式上)加以总结。

最佳回答

更不用说,任何人都知道,上述法典实际上行之有效,问题在于名称不定的缩略语。 我更名为“@template”, @layout to @_tempalte, @_layout和一切照期工作。

问题回答

在铁路上(特别是铁路)使用液体 3)——我认为,使你的液态模板(并保持你正在做的所有工作铁路)的恰当方式如下......

The liquid gem itself provides a liquid_view for rails so you can wire up the rails to look for "liquid" templates when you call #render. This liquid_view only works fully with rails 2.3 but can easily be updated to work with rails 3 by making the following update

if content_for_layout = @view.instance_variable_get("@content_for_layout")
  assigns[ content_for_layout ] = content_for_layout
elsif @view.content_for?(:layout)
  assigns["content_for_layout"] = @view.content_for(:layout)
end
assigns.merge!(local_assigns.stringify_keys)

可查阅:

然后,把你的液态观点正确地说出来。

render :template => "index", :layout => "my_layout", :locals => { liquid_drop1 => drop, liquid_drop2 => drop }

在我们的申请中,由于我们有少数共同的液体属性,我们超越了我们的基地控制员的“放款”方法,通过提及“电算”—— 意见—— 自动列入违约当地情况,从而增加呼吁的液体下降。

def render(...)
  options[:locals] = options.fetch(:locals, {}).merge(liquid_view_assigns)
  super
end




相关问题
热门标签