Яке значення erb?


Відповіді:


164

erb означає "Embedded RuBy". .html.erbАбо .erb.htmlфайл HTML з кодом Ruby , впроваджений в; Rails оцінить Ruby, щоб динамічно додавати вміст у файл, і виведе "чистий" HTML-файл для візуалізації.


9
Бонус: ви можете також додати локаль в суміш: index.en.html.erb і index.de.html.erb
Іен

3
кульгавий, вони повинні видалити html. Ви не бачите html.php
luckyguy73

46

Як згадувалося раніше @Chowlett, erb означає Embedded Ruby . Коли ви визначаєте будь-який файл як ".html.erb", це означає, що це HTML-файл із вбудованим в нього кодом рубіну, і він схожий на ".rhtml" розширення файлу rails.

Ви можете побачити детальну та хорошу різницю між ".html.erb" та ".rhtml" Клацніть тут

Так само, як ".rhtml", ви також можете перейменувати ".rjs" розширення на ".js.erb" або ".rxml" в ".xml.erb"

Цей формат відокремлює тип вмісту від двигуна шаблону, який у цьому випадку є "erb".


1
Дякую @khanh за те, що оцінив мою відповідь :)
Німеш Нікум

9

Із вступу Стюарта Елліса до шаблону ERB :

ERB (Embedded RuBy) - це особливість Ruby, яка дозволяє вам зручно генерувати будь-який текст у будь-якій кількості із шаблонів. Самі шаблони поєднують звичайний текст із кодом Ruby для змінної підстановки та контролю потоку, що дозволяє легко писати та підтримувати.

Хоча ERB найчастіше зустрічається при створенні веб-сторінок, він також використовується для створення XML-документів, RSS-каналів, вихідного коду та інших форм структурованого текстового файлу. Це може бути надзвичайно цінним, коли вам потрібно створити файли, які містять багато повторень стандартного шаблону, наприклад, тестові набори модулів.

Основний компонент ERB - це бібліотека, до якої можна зателефонувати у межах своїх програм Ruby та Rake. Ця бібліотека приймає будь-який рядок як шаблон і не накладає обмежень на джерело шаблону. Ви можете визначити шаблон повністю у своєму коді або зберегти його у зовнішньому місці та завантажити його за потребою. Це означає, що ви можете зберігати шаблони у файлах, базах даних SQL чи будь-якому іншому сховищі, яке ви хочете використовувати.

Ruby-дистрибутиви також включають утиліту командного рядка, яка дозволяє обробляти шаблони, які зберігаються у файлах, не записуючи жодного додаткового коду. За логікою ця утиліта називається erb.

ERB є частиною стандартної бібліотеки Ruby. Для його використання вам не потрібно встановлювати жодне інше програмне забезпечення.

Оригінальна стаття містить більш детальну інформацію та короткий посібник із використання ERB. Ви також можете прочитати офіційні документи .


Примітка: цитований вище блок раніше був розміщений як відповідь іншого користувача, не посилаючись на Вступ до шаблону ERB або не визнаючи, що це не робота цього користувача. Ця посада (справедливо) була видалена за плагіат. Однак я подумав, що це корисна відповідь, тому я перекинув цитату, надавши належне приписування Стюарту Еллісу, оригінальному автору.


5

Вбудована Ruby, яка також називається ERb, є основною системою шаблонів для включення динамічного вмісту у веб-сторінки. - Майкл Гертл


4

від формату шаблону Файл, що містить шаблон ERB, може мати будь-яке ім'я, але це правило, що ім'я файлу має закінчуватися розширенням .erb. Rails вимагає, щоб файли шаблонів мали розширення типу вихідних даних, а потім - .erb, щоб ім'я типу layout.html.erb вказувало HTML-шаблон.

erb-файли будуть просто виводити текст. Більше нічого. Який текст залежить від суміші статичного тексту та рубінового коду всередині файлу. Ви можете використовувати erb для створення html, який використовується за замовчуванням у Rails, тому що саме браузерам потрібно відображати сторінку.

У рубіні є певні параметри за замовчуванням. Один за замовчуванням - контролер візуалізує сторінку html. Але ви можете легко змусити його відповідати за допомогою .xml або .json або .csv, якщо ви пишете для нього веб-api

Erb - це бібліотечний клас, який генерує текст. Більше нічого. Він очікує, що файл містить статичний текст та змішаний код рубіну. Він запустить рубін-код і запише результат в інший файл, який у випадку, якщо для ваших контролерів буде html


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.