Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 将liquid文件传递到liquid::Template.parse_Ruby_Liquid - Fatal编程技术网

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文档,但文档没有表明您可以这样做。