Ruby 将liquid文件传递到liquid::Template.parse
现在我能够做到这一点:Ruby 将liquid文件传递到liquid::Template.parse,ruby,liquid,Ruby,Liquid,现在我能够做到这一点: @template = Liquid::Template.parse("hi {{name}}") # Parses and compiles the template p @template.render('name' => 'tobi') 但是,如何使用我调用的文件Template.Liquid调用Liquid::Template,该文件的内容如下: hi {{name}} File.read()以字符串形式返回整个文件,因此您可以编写: template
@template = Liquid::Template.parse("hi {{name}}") # Parses and compiles the template
p @template.render('name' => 'tobi')
但是,如何使用我调用的文件Template.Liquid
调用Liquid::Template
,该文件的内容如下:
hi {{name}}
File.read()以字符串形式返回整个文件,因此您可以编写:
template = Liquid::Template.parse(
File.read("template.liquid")
)
我意识到当我这样做时,我看到的不是
hi-toby
,而是hi-tobi\n
这是为什么?@HommerSmith,一些操作系统会自动在文件末尾添加一个“\n”。可以使用chomp()删除尾随“\n”:File.read(“template.liquid”).chomp
。如果没有尾随“\n”,则chomp不会删除任何内容。不过,我很惊讶Liquid没有提供直接从文件解析的方法。@HommerSmith,我在发布答案之前检查了Liquid文档,但文档没有表明您可以这样做。