Erb kelimesinin anlamı nedir?


132

Rails uygulamasının görünümü neden formattadır *.erb.html? "Erb" ne anlama geliyor?

Yanıtlar:


164

erb "Gömülü RuBy" anlamına gelir. Bir .html.erbveya .erb.htmldosya, Ruby kodunun gömülü olduğu HTML'dir; Rails, Ruby'yi dosyaya dinamik olarak içerik eklemek için değerlendirecek ve işleme için "saf" bir HTML dosyası çıkaracaktır.


9
Bonus: Ayrıca karışıma mevkiinizi ekleyebilirsiniz: index.en.html.erb ve index.de.html.erb
iain

3
lame, html'yi kaldırmalılar. html.php'yi görmüyorsunuz
luckyguy73

46

@Chowlett'in daha önce bahsettiği gibi, erb Embedded Ruby anlamına gelir . Herhangi bir dosyayı ".html.erb" olarak tanımladığınızda, bu, gömülü ruby ​​koduna sahip bir HTML dosyası olduğu ve rails dosyasının ".rhtml" uzantısına benzer olduğu anlamına gelir.

".Html.erb" ve ".rhtml" arasında ayrıntılı ve güzel bir fark görebilirsiniz Burayı Tıklayın

".Rhtml" ile aynı, ".rjs" uzantısını ".js.erb" veya ".rxml" yi ".xml.erb" olarak yeniden adlandırabilirsiniz.

Bu biçim, içerik türünü bu durumda "erb" olan şablon motorundan ayırır.


1
@Khanh cevabımı takdir ettiğiniz için teşekkürler :)
Nimesh Nikum

9

Stuart Ellis'in ERB Şablonuna Giriş kitabından :

ERB (Gömülü RuBy), herhangi bir türde, herhangi bir miktarda, şablonlardan uygun bir şekilde metin oluşturmanıza olanak tanıyan bir Ruby özelliğidir. Şablonlar, değişken ikame ve akış kontrolü için düz metni Ruby koduyla birleştirir, bu da onların yazılmasını ve bakımını kolaylaştırır.

ERB en yaygın olarak Web sayfaları üretirken görülmesine rağmen, aynı zamanda XML belgeleri, RSS beslemeleri, kaynak kodu ve diğer yapılandırılmış metin dosyası biçimlerini üretmek için de kullanılır. Birim test paketleri gibi standart bir modelin birçok tekrarını içeren dosyalar oluşturmanız gerektiğinde son derece değerli olabilir.

ERB'nin ana bileşeni, Ruby uygulamalarınız ve Rake görevleriniz içinde çağırabileceğiniz bir kitaplıktır. Bu kitaplık herhangi bir dizeyi şablon olarak kabul eder ve şablonun kaynağına herhangi bir sınırlama getirmez. Bir şablonu tamamen kodunuz içinde tanımlayabilir veya bunu harici bir konumda saklayabilir ve gerektiği gibi yükleyebilirsiniz. Bu, şablonları dosyalarda, SQL veritabanlarında veya kullanmak istediğiniz diğer depolama türlerinde tutabileceğiniz anlamına gelir.

Ruby dağıtımları ayrıca dosyalarda tutulan şablonları herhangi bir ek kod yazmadan işlemenizi sağlayan bir komut satırı yardımcı programı içerir. Mantıksal olarak, bu yardımcı programa erb denir.

ERB, Ruby standart kütüphanesinin bir parçasıdır. Kullanmak için başka bir yazılım yüklemenize gerek yoktur.

Orijinal makale daha fazla ayrıntı ve ERB'nin kullanımına ilişkin kısa bir kılavuz içermektedir. Resmi belgeleri de okuyabilirsiniz .


Not: Yukarıda alıntılanan blok daha önce başka bir kullanıcı tarafından bir ERB Şablonuna Giriş'e bağlanmadan veya bu kullanıcının işi olmadığı kabul edilmeden bir cevap olarak gönderilmişti. Bu gönderi intihal nedeniyle (haklı olarak) silindi. Bununla birlikte, bunun yararlı bir cevap olduğunu düşündüm , bu yüzden orijinal yazar Stuart Ellis'e uygun atıfta bulunarak alıntıyı yeniden yayınladım.


5

Gömülü Ruby, aynı zamanda ERb olarak da adlandırılır, web sayfalarına dinamik içeriği dahil etmek için birincil şablon sistemidir. --Michael Hertl


4

dan şablon formatlı bir ERB şablon herhangi bir isim olabilir içerir, ancak dosyanın adı .erb uzantısıyla sona gerektiğini kongre olan bir dosyaya. Rails, şablon dosyalarının çıktı türü uzantısına ve ardından .erb'ye sahip olmasını gerektirir, böylece layout.html.erb gibi bir ad bir HTML şablonunu belirtir.

erb dosyaları basitçe metin çıktılar. Daha fazlası yok. Hangi metin, dosyanın içindeki statik metin ve ruby ​​kodunun karışımına bağlıdır. Rails'de varsayılan kullanım olan html'yi oluşturmak için erb'yi kullanabilirsiniz, çünkü tarayıcıların bir sayfayı görüntülemesi gereken şey budur.

Ruby'de belirli varsayılanlar vardır Bir varsayılan, bir denetleyicinin bir html sayfası oluşturmasıdır. Ancak, bunun için bir web api'si yazarsanız, .xml veya .json veya .csv ile kolayca yanıt verebilirsiniz

Erb, metin üreten bir kütüphane sınıfıdır. Daha fazlası yok. Statik metin ve karışık yakut kodu içeren bir dosya bekler. Ruby kodunu çalıştıracak ve sonucu başka bir dosyaya yazacaktır; bu, denetleyicilerinizin html olması durumunda


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.