Bu konuda yorum yapmayı denedim, ancak yorumlar bağlantısı mevcut değil.
Bunu kullanıyorum: Yukarıdaki gönderme itibaren
template = ERB.new File.new("path/to/template.erb").read, nil, "%"
template.result(binding)
:
ben gibi DOS PARTİ dosyaları oluşturmak ediyorum:
ve ben bunun bir sorun olabilir ne düşündüğünüzü bulundu
%JAVA_HOME%\bin\jar -xvf <%=inputfile%>...
Ve garip şey sorun buldum - yukarıdaki kod ile çalıştırdığınızda bu alın:
Processing Template test.txt
erb):2:in `render': compile error (SyntaxError)
erb):2: syntax error, unexpected tSTRING_BEG, expecting $end
erbout.concat "\n"
^
from DBUser.rb:49:in `render'
from DBUser.rb:43:in `each'
from DBUser.rb:43:in `render'
from DBUser.rb:81
aşağıdaki çalıştı ve benim özel sorun bitmedi - Bu herkes için doğru cevaptır eğer Erubis için ERB geçiş yapabilirsiniz olursa, problem çözme kadar basittir
template = ERB.new File.new("path/to/template.erb").read
template.result(binding)
Harika! I **, (doğru olup olmadığını bilmeden) erb'yi çalıştırmaya çalışıyordu, ancak başarısız oldu, bu yüzden bunun doğrudan yapılamayacağını düşündüm, ancak bunun yerine bir dış kütüphaneye gereksinim duydum. Cevabınızdan sonra fark ettim ki, sadece sistem yolunda olmayan özel bir rubyum vardı;) Teşekkürler! –
Bir karınca komut dosyasına ihtiyacım var (tüm platformlarda çalışması gerekiyor). Burada linux altında erb (uzantısız) olduğumu fark ettim, fakat erb.bat'tan bahsettiniz (bu yüzden windows altında uzatma olmadan erb'in bulunmadığını varsayalım). Erb'i nasıl çoklu platformda başlatacağımı önerebilir misin? –
Bu, ve bir patron gibi değişkenleri enjekte edebilirsiniz: erb <(echo -n '<% somevar = "yay"%>'; cat your.erb) –