如何在其他食谱中添加相同的烹饪书食谱
include_recipe "localcookbook::test"
我已经包含了测试配方变量没有通过
答案 0 :(得分:0)
在include中看不到局部变量,因为这会使它们不是局部变量。或者更普遍的是因为这不是Ruby的工作方式。
答案 1 :(得分:0)
为了达到你想要的效果,你需要使用cookbook的助手和库。首先,您可以查看库https://blog.chef.io/2014/03/12/writing-libraries-in-chef-cookbooks/
的此资源这是助手的基本示例。
在cookbook文件夹中,您需要创建libraries / helpers.rb文件
module MyCookbook
module Helpers
@@state_value ||= ''
def set_state_value(v)
@@state_value = v
@@state_value
end
def get_state_value
@@state_value
end
end
end
Chef::Recipe.send(:include, MyCookbook::Helpers)
让我们说你有两个食谱 - A和B(经常执行)在厨师。
在A中,您将set_state_value("state value")
放在B get_state_value
中,并且您拥有了从B配方中的食谱中设置的内容。