Назад | Перейти на главную страницу

Рецепт шеф-повара дает ошибку как неопределенный метод 'split'

Привет, я использую приведенный ниже код в своем рецепте шеф-повара, и он отлично работает со всеми другими существующими серверами, но не работает с моим новым сервером.

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 method 'split' for nil:NilClass

node['user']['user_array_node_attr'] не определено, но node['user'] является. Проверьте спецификацию атрибута, чтобы убедиться, что у него есть значение. Откуда взялось это значение?

Если он исходит из другого рецепта, вы можете оказаться в ситуации, когда ваш run_list предполагает, что у него есть значение перед рецептом, который определяет его запуск. Этот сценарий может произойти со временем по мере изменения кулинарных книг - предыдущая версия правильно устанавливает атрибут и заменяется, поэтому существующие узлы работают нормально, но новые узлы не работают.