如何防止ruby代码中的chef失败?

如何防止ruby代码中的chef失败?,ruby,chef-infra,recipe,Ruby,Chef Infra,Recipe,有时Chef在下一个代码上失败(此代码不在块或任何资源中): 我得到的错误: 命名者 nil:NilClass的未定义方法“force_encoding” 我的问题是如何最好地忽略任何代码错误并继续运行rest配方,谢谢你没有显示标题的来源,所以我能说的最好方法是将你的代码放在ruby_块资源中,并使用忽略失败属性。您也可以使用普通的Rubyrescue块来编写命令式代码,但是要知道它是如何与资源交互的(或者更确切地说,是如何与资源交互的),有关Chef使用的加载过程的一些详细信息,请参阅 tm

有时Chef在下一个代码上失败(此代码不在块或任何资源中):

我得到的错误:

命名者 nil:NilClass的未定义方法“force_encoding”


我的问题是如何最好地忽略任何代码错误并继续运行rest配方,谢谢你没有显示
标题
的来源,所以我能说的最好方法是将你的代码放在
ruby_块
资源中,并使用
忽略失败
属性。您也可以使用普通的Ruby
rescue
块来编写命令式代码,但是要知道它是如何与资源交互的(或者更确切地说,是如何与资源交互的),有关Chef使用的加载过程的一些详细信息,请参阅

tmp = title.force_encoding("ISO-8859-1").encode("UTF-8")
title = tmp.encode('ISO8859-1').force_encoding('UTF-8')