5
我已经存储在数据库和渲染之前液体的模板,我想检查一下,如果所有PARAMS要求的模板提供了 - 现在我发现这样的:如何检查是否提供液体模板的所有值?
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
问题是模板可以在管理面板中编辑,所以我需要一个通用的方法 - 如果我知道所有必需的值,我可以用你的方法,谢谢你的答案;)我的意思是例如: page_title可以具有以下价值:“这是{{product_name}}”,后来更改为“这是价格{{product_price}}'的{{product_name}}”。 – santuxus 2011-05-03 14:20:31