Jakie jest znaczenie słowa erb?

133

Dlaczego widok aplikacji Rails jest w formacie *.erb.html? Co oznacza „erb”?

khanh
źródło

Odpowiedzi:

165

erb to skrót od „Embedded RuBy”. Plik .html.erblub .erb.htmlto HTML z osadzonym kodem Ruby; Railsy ocenią Rubiego w celu dynamicznego dodania zawartości do pliku i wygenerują „czysty” plik HTML do renderowania.

Chowlett
źródło
9
Bonus: można również dodać do mieszanki locale: index.en.html.erb i index.de.html.erb
Iain
3
lame, powinni usunąć html. u don't see html.php
luckyguy73
46

Jak wspomniano wcześniej @Chowlett, erb oznacza Embedded Ruby . Gdy zdefiniujesz dowolny plik jako „.html.erb”, oznacza to, że jest to plik HTML z osadzonym kodem ruby ​​i jest podobny do rozszerzenia „.rhtml” pliku rails.

Możesz zobaczyć szczegółową i ładną różnicę między „.html.erb” a „.rhtml”. Kliknij tutaj

Tak samo jak „.rhtml”, możesz także zmienić nazwę rozszerzenia „.rjs” na „.js.erb” lub „.rxml” na „.xml.erb”

Ten format oddziela typ treści od silnika szablonów, którym w tym przypadku jest „erb”.

Nimesh Nikum
źródło
1
Dzięki @khanh za docenienie mojej odpowiedzi :)
Nimesh Nikum
9

Z książki Stuarta Ellisa An Introduction to ERB Templating :

ERB (Embedded RuBy) to funkcja Rubiego, która umożliwia wygodne generowanie dowolnego rodzaju tekstu, w dowolnej ilości, z szablonów. Same szablony łączą zwykły tekst z kodem Ruby w celu zastępowania zmiennych i kontroli przepływu, co ułatwia ich pisanie i utrzymywanie.

Chociaż ERB jest najczęściej postrzegany jako generowanie stron internetowych, jest również używany do tworzenia dokumentów XML, kanałów RSS, kodu źródłowego i innych form strukturalnych plików tekstowych. Może to być niezwykle cenne, gdy trzeba tworzyć pliki, które zawierają wiele powtórzeń standardowego wzorca, na przykład zestawy testów jednostkowych.

Głównym składnikiem ERB jest biblioteka, którą możesz wywołać w aplikacjach Ruby i zadaniach Rake. Ta biblioteka akceptuje dowolny ciąg jako szablon i nie nakłada żadnych ograniczeń na źródło szablonu. Możesz zdefiniować szablon całkowicie w swoim kodzie lub przechowywać go w zewnętrznej lokalizacji i ładować zgodnie z wymaganiami. Oznacza to, że możesz przechowywać szablony w plikach, bazach danych SQL lub dowolnym innym rodzaju magazynu, którego chcesz używać.

Dystrybucje Ruby zawierają również narzędzie wiersza poleceń, które umożliwia przetwarzanie szablonów przechowywanych w plikach bez konieczności pisania dodatkowego kodu. Logicznie rzecz biorąc, to narzędzie nazywa się erb.

ERB jest częścią standardowej biblioteki Ruby. Nie musisz instalować żadnego innego oprogramowania, aby z niego korzystać.

Oryginalny artykuł zawiera więcej szczegółów i krótki przewodnik po używaniu ERB. Możesz także przeczytać oficjalne dokumenty .


Uwaga: cytowany powyżej blok został wcześniej opublikowany jako odpowiedź przez innego użytkownika bez linku do Wprowadzenia do tworzenia szablonów ERB lub stwierdzenia, że ​​nie jest to dzieło tego użytkownika. Ten post został (słusznie) usunięty z powodu plagiatu. Pomyślałem jednak, że to użyteczna odpowiedź, więc zamieściłem cytat ponownie, podając odpowiednie uznanie dla Stuarta Ellisa, pierwotnego autora.

Mark Amery
źródło
5

Wbudowany Ruby, zwany także ERb, jest głównym systemem szablonów służącym do dołączania dynamicznej zawartości na stronach internetowych. - Michael Hertl

Andy Young
źródło
4

from template-format Plik zawierający szablon ERB może mieć dowolną nazwę, ale zgodnie z konwencją nazwa pliku powinna kończyć się rozszerzeniem .erb. Railsy wymagają, aby pliki szablonów miały rozszerzenie typu wyjścia, po którym następuje .erb, tak aby nazwa taka jak layout.html.erb wskazywała na szablon HTML.

Pliki erb po prostu wyświetlą tekst. Nic więcej. Jaki tekst zależy od połączenia tekstu statycznego i kodu ruby ​​w pliku. Możesz użyć erb do wygenerowania html, który jest domyślnie używany w Railsach, ponieważ to jest to, czego przeglądarki potrzebują do wyświetlania strony.

W Ruby są pewne ustawienia domyślne. Jedną domyślną jest to, że kontroler wyrenderuje stronę html. Ale możesz łatwo sprawić, by odpowiadał za pomocą .xml, .json lub .csv, jeśli napiszesz dla niego internetowy interfejs API

Erb to klasa biblioteczna, która generuje tekst. Nic więcej. Oczekuje pliku zawierającego tekst statyczny i zmieszany kod ruby. Uruchomi kod ruby ​​i zapisze wynik w innym pliku, którym w przypadku kontrolerów jest html

Ahmed Ali
źródło