В чем смысл erb?

Почему приложение Rails выглядит в формате *.erb.html? Что означает "erb"?

Ответ 1

erb означает "Встроенный RuBy". Файл .html.erb или .erb.html - это HTML с встроенным кодом Ruby; Rails будет оценивать Ruby для динамического добавления содержимого в файл и выведет "чистый" HTML файл для рендеринга.

Ответ 2

Как упоминалось ранее в @Chowlett, erb обозначает Embedded Ruby. Когда вы определяете любой файл как ".html.erb", это означает, что он имеет HTML файл с встроенным в него рубиновым кодом и похож на расширение ".rhtml" файла rails.

Вы можете увидеть подробную и приятную разницу между ".html.erb" и ".rhtml" Нажмите здесь

То же, что и ".rhtml" , вы также можете переименовать расширение ".rjs" в ".js.erb" или ".rxml" на ".xml.erb"

Этот формат отделяет тип содержимого от механизма шаблона, который в этом случае является "erb".

Ответ 3

из template-format Файл, содержащий шаблон ERB, может иметь любое имя, но это соглашение о том, что имя файла должно заканчиваться расширением .erb. Rails требует, чтобы файлы шаблонов имели расширение типа вывода, за которым следует .erb, так что имя типа layout.html.erb указывает шаблон HTML.

erb файлы будут просто выводить текст. Больше ничего. Какой текст зависит от сочетания статического текста и кода ruby ​​внутри файла. Вы можете использовать erb для генерации html, используемого по умолчанию в Rails, потому что браузеру необходимо отображать страницу.

В рубине есть определенные значения по умолчанию. По умолчанию установлено, что контроллер отобразит страницу html. Но вы можете легко заставить его отвечать с помощью .xml или .json или .csv, если вы пишете web api для него

Erb - это класс библиотеки, который генерирует текст. Больше ничего. Он ожидает, что файл, содержащий статический текст и рубиновый код, будет смешанным. Он запустит код ruby ​​и напишет результат в другой файл, который для ваших контроллеров будет html

Ответ 4

Встраиваемый Ruby, также называемый ERb, является основной системой шаблонов для включения динамического содержимого на веб-страницах. - Майкл Хертл

Ответ 5

ERB шаблонирует класс в Ruby и часто используется в .rhtml или .erb.html(HTML со встроенным Ruby) в рельсах.

Вот хорошая информация о документах Ruby.

http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html

Ответ 6

От Stuart Ellis Введение в ERB Templating:

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

Хотя ERB чаще всего видит создание веб-страниц, он также используется для создания XML-документов, RSS-каналов, исходного кода и других форм структурированного текстового файла. Это может быть чрезвычайно полезно, когда вам нужно создавать файлы, которые включают в себя много повторений стандартного шаблона, например unit test suites.

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

В дистрибутивы Ruby также входит утилита командной строки, которая позволяет обрабатывать шаблоны, хранящиеся в файлах, без написания дополнительного кода. Логически эта утилита называется erb.

ERB является частью стандартной библиотеки Ruby. Вам не нужно устанавливать какое-либо другое программное обеспечение для его использования.

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


Примечание. Ранее цитированный блок был ранее отправлен как ответ другого пользователя без ссылки на введение в ERB Templating или подтверждение того, что это не тот пользователь, который работает. Эта должность была (по праву) удалена для плагиата. Тем не менее, я думал, что это был полезный ответ, поэтому я пересказывал цитату, дающую правильную атрибуцию Стюарту Эллису, оригинальному автору.