Oldukça yeni bir yakut ve şef olmak için yeni bir şablon kullanarak bir dosya oluşturmanın bir yolu olup olmadığını öğrenmek istedim. Onu aramayı denedim ama çok fazla şey bulamadım. Bir kara liste dosyası oluşturmaya çalışıyorum ve şefin üzerine bir regex ekleyelim. Bu yüzden öznitelikleri eklemek istedim ve şefi çalıştırırken dosya oluşturmak için bir template.erb
kullanın. Herhangi bir ipucu, işaretçiler?template.erb dosyasını kullanarak dosya oluştur
11
A
cevap
21
Chef şablonlardan dosyaları oluşturmak için template adlı özel bir kaynak vardır. Şablonunuzu yemek kitabının içine şablonlar/varsayılan dizinler altına koymanız ve daha sonra tarifinizde değişkenleri sağlamanız gerekir.
yemek kitapları/my_cookbook/templates/default/template.erb:
# template.erb
A is: <%= @a %>
B is: <%= @b %>
C is: <%= @c %>
yemek kitapları/my_cookbook/tarifleri/default.rb:
template "/tmp/config.conf" do
source "template.erb"
variables(:a => 'Hello', :b => 'World', :c => 'Ololo')
end
3
require 'erb'
class Foo
attr_accessor :a, :b, :c
def template_binding
binding
end
end
new_file = File.open("./result.txt", "w+")
template = File.read("./template.erb")
foo = Foo.new
foo.a = "Hello"
foo.b = "World"
foo.c = "Ololo"
new_file << ERB.new(template).result(foo.template_binding)
new_file.close
Şablonunuzdaki bir değişken olarak Yani a
, b
ve c
şimdi availible
I.E.
# template.erb
A is: <%= @a %>
B is: <%= @b %>
C is: <%= @c %>
Sonucu =>
# result.txt:
A is Hello
B is World
C is Ololo
İlgili konular
- 1. Android emülatörde dosya oluştur
- 2. Benzersiz dosya adı oluştur
- 3. iOS dosya oluştur
- 4. C - bellekte dosya oluştur
- 5. Dosya için URL oluştur
- 6. Powershell komutunu kullanarak komut dosyasını fileanme kullanarak veya komut dosyasını
- 7. Aynı çözümdeki başka bir projeye dosya oluştur
- 8. python belirli boyutta dosya oluştur
- 9. Raylarda yakutta indirilebilir dosya oluştur
- 10. Tek satır içerikli dosya oluştur
- 11. Dosya yolundan Bitmap/Drawable oluştur
- 12. Git Otomatik Yeniden Dosya Oluştur ve Dosyada Yeniden Dosya Yükle
- 13. Bir json dosyasını, URL'yi kullanarak sunucudan açıkça görüntüleyemiyor Dosya bulunamadı
- 14. Dosya yolunu kullanarak zip dosyasını ayıklama ile ilgili sorunlar
- 15. SQL kullanarak tamsayıdan karma oluştur
- 16. WiX kullanarak masaüstüne kısayol oluştur
- 17. ECDSA kullanarak sertifika oluştur C#
- 18. jquery'yi kullanarak yeni pencere oluştur
- 19. DFM Dosyasını kullanarak Delphi IDE
- 20. Unix - klasör ve dosya yolu oluştur
- 21. Eclipse eklentisi: yeni bir dosya oluştur
- 22. Belirli bir boyuta sahip yeni dosya oluştur
- 23. Birden çok dosya için bir msbuild oluştur
- 24. Klasör oluştur ve aynı anda dosya yolla
- 25. pyhs2/yol dosyasını eşleşen hiçbir dosya kovan ve dosya kovanı veya kestirme yol istemcisi kullanarak
- 26. İletki - dosya/exe üzerinden exe dosyasını yükle
- 27. Excel'de simplexlsx kullanarak excel xlsx dosyasını okuyun
- 28. Statik kitaplık oluştur
- 29. TFS Oluştur: Bir Powershell komut dosyasını yönetici olarak çalıştır
- 30. VS 2010 Yerel kaynak oluştur, neden web.config dosyasını kontrol ediyor?
oh, bilmek güzel :) hiç kullanmadım Chef – fl00r
Teşekkürler Draco. :) Bu tam olarak aradığım şey. – noMAD
@Draco: Bir sorum var. Bu yüzden, dosyayı tarifte oluşturmam gerekiyor mu? Ben fl00r'in yazdığı kod, yani tarife girmeli mi? – noMAD