У развертывания Opsworks нет узла [: deploy] - PullRequest
0 голосов
/ 21 января 2019

Мой узел развертывания opsworks не имеет объекта [: deploy] Это сценарий моего шеф-повара

if node[:deploy] === nil

    Chef::Log.info("No deployment..")
    node[:deploy].each do |app, deploy|
        Chef::Log.info("deploy -#{ app }-")
    end
elsif
    # never goes here
end

я получил эту ошибку в строке 4

undefined method `each' for nil:NilClass (NoMethodError)

1 Ответ

0 голосов
/ 24 января 2019

во-первых, я посоветую вам прочитать Что делает оператор "===" в Ruby? .

У меня такое ощущение, что вы намеревались использовать ==,а не ===.измените ваш оператор тройного равенства на оператор двойного равенства и попробуйте ...

вы можете использовать #nil?, если хотите сделать его более читабельным (в зависимости от вашей версии ruby),изменить

if node[:deploy] === nil

на

node[:deploy].nil?
...