3
如果我有一个属性:厨师属性可以从同一个属性文件中引用吗?
默认的[:mycookbook] [:attr_foo] = “foo” 的
我可以引用它在同一文件中,这样的事情:
默认[:mycookbook] [:attr_bar] =默认[:mycookbook] [:attr_foo]
如果我有一个属性:厨师属性可以从同一个属性文件中引用吗?
默认的[:mycookbook] [:attr_foo] = “foo” 的
我可以引用它在同一文件中,这样的事情:
默认[:mycookbook] [:attr_bar] =默认[:mycookbook] [:attr_foo]
这是可能的,但是正确的语法时才是:
默认[:mycookbook] [:attr_bar] = “#{默认[:mycookbook] [:attr_foo]}”
..essentially属性是包裹着:
“#{}”
我想知道,为什么这应该更好。基本上,你只是将一个变量包装在一个字符串中。正确的语法(从ruby角度来看)是问题中的一个。从厨师的角度来看,我会说你不应该通过'默认'层级访问它,而是访问'node [:mycookbook]'。这不工作? – StephenKing
虽然这可行,但它可能会导致怪异的错误和意外的行为。 变量赋值仅在Chef评估此文件时发生,因此如果覆盖attr_foo,则attr_bar的值不会自动更新以反映更改。 – avout
@StephenKing:我没有尝试过,默认是在属性文件中用于赋值的语法,所以我认为它对于引用是相同的。 – DonBecker