У меня есть следующий атрибут в качестве ресурса повара:Что такое методы атрибутов шеф-повара LWRP и что я могу передать им?
attribute :attribName, kind_of: String, name_attribute: true, default: 'big string sldkjslkdflksdksdlkff'
Я хочу разбить это так, это выглядит хорошо, так что я сделал это:
attribute [
:attribName,
kind_of: String,
name_attribute: true,
default: 'big string sldkjslkdflksdksdlkff'
]
Но я получаю сообщение об ошибке при сходящихся:
NoMethodError
-------------
undefined method `to_sym' for #<Array:0x00000004a63b60>
Did you mean? to_s
to_yaml
to_set
Platform:
---------
x64-mingw32
Running handlers:
[2016-10-01T19:07:39-07:00] ERROR: Running exception handlers
Running handlers complete
[2016-10-01T19:07:39-07:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 11 seconds
[2016-10-01T19:07:39-07:00] FATAL: Stacktrace dumped to C:/Users/ADMINI~1/AppData/Local/Temp/kitchen/cache/chef-stacktrace.out
[2016-10-01T19:07:39-07:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2016-10-01T19:07:39-07:00] FATAL: NoMethodError: undefined method `to_sym' for #<Array:0x00000004a63b60>
Did you mean? to_s
to_yaml
to_set
Так я думал attribute
s в файлах ресурсов были только методы, которые приняли массив аргументов и прохождения [..args ..] к ней было то же самое , Почему это не работает? Я думаю, что я смущен тем, что такое атрибуты объекта ruby в этом контексте и каково их поведение.
Если вы не используете действительно старую версию шеф-повара, используйте 'property' вместо' attribute'. Последний доступен только для обратной совместимости. – coderanger