我将液体模板存储在数据库中,在渲染之前,我想检查是否提供了模板所需的所有参数 - 现在我发现了类似的东西:
parsed = Liquid::Template.parse(string_with_template)
required = parsed.instance_values["root"].instance_values["nodelist"].select{ |v| v.is_a?(Liquid::Variable) }.map(&:name)
然后在渲染之前我有一个功能
def has_all_required?(liquid_params, required)
keys = liquid_params.keys
required.each{|e| return false unless keys.include?(e) }
return true
end
是否有更清洁的方法来实现此验证?
感谢所有建议,Santuxus