代码之家  ›  专栏  ›  技术社区  ›  Sinan Ünür

有没有办法为厨师资源的name属性指定默认值?

  •  0
  • Sinan Ünür  · 技术社区  · 7 年前

    理想情况下,我希望能够做到:

    resource_name :house
    
    property :material, String, default: 'brick', name_property: true
    ...
    

    这样我就可以

    house do
      ...
    end
    

    和材质属性将设置为 'brick' ,但这会导致错误消息:

    A property cannot be both a name_property/name_attribute and have a default value ...

    这很清楚。我有理由肯定我所要求的是不可能的,但是,我也可能错过了实现同样目标的另一种方式,所以我想我会提出要求。

    0 回复  |  直到 7 年前
        1
  •  1
  •   coderanger    7 年前

    不,您必须在名称级别本身执行此操作。看见 https://github.com/chef/chef/blob/master/lib/chef/resource/apt_update.rb#L31

    这应该非常谨慎地使用,真正的全局单例是非常罕见的。

    推荐文章