私は液体テンプレートをDBに保存しており、レンダリングする前に、テンプレートに必要なすべてのパラメーターが提供されているかどうかを確認したいと思います-今では次のようなものを見つけました:
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