Привет, я использую код, приведенный ниже, в моем рецепте шеф-повара, и он отлично работает со всеми другими существующими серверами, но не работает с моим новым сервером.
user_array = node
node['user']['user_array_node_attr'].split("/").each do |hash_key|
user_array = user_array.send(:[], hash_key)
end
И выдает ошибку как
FATAL: NoMethodError: undefined метод 'split' для nil: NilClass
node['user']['user_array_node_attr']
не определено, но node['user']
определено. Проверьте спецификацию своего атрибута, чтобы убедиться, что он имеет значение. Откуда это значение?
Если оно исходит из другого рецепта, вы можете оказаться в ситуации, когда ваш список run_list предполагает, что у него есть значение перед рецептом, который определяет его выполнение. Этот сценарий может произойти со временем при изменении книг рецептов -- предыдущая версия правильно устанавливает атрибут и заменяет его, поэтому существующие узлы работают нормально, но новые не работают.
.