Ниже приведены базовые компоненты Rails (гемы, а не зависимости и библиотеки).
ActiveSupport - это библиотека совместимости, включающая методы, которые не обязательно относятся к Rails.Вы увидите, что ActiveSupport используется не-Rails-библиотеками, потому что он содержит так много полезных базовых функций.ActiveSupport включает в себя такие методы, как то, как Rails изменяет слова с одного на множественное, или CamelCase на snake_case.Он также включает в себя значительно лучшую поддержку времени и даты, чем стандартная библиотека Ruby.
ActiveModel подключает функции ваших моделей, которые на самом деле не относятся к базе данных - например, если вы хотитеURL для данной модели, ActiveModel поможет вам там.Это тонкая оболочка для множества различных реализаций ActiveModel, чтобы рассказать Rails, как их использовать.Чаще всего реализации ActiveModel являются ORM (см. ActiveRecord ниже), но они также могут использовать нереляционную память, такую как MongoDB, Redis, Memcached или даже просто память локального компьютера.
ActiveRecord isобъектно-реляционный картограф (ORM).Это означает, что он сопоставляет объекты Ruby и таблицы в базе данных SQL.Когда вы запрашиваете или пишете в базу данных SQL 19 в Rails, вы делаете это через ActiveRecord.
ActiveRecord также реализует ActiveModel.ActiveRecord поддерживает MySQL и SQLite, а также JDBC, Oracle, PostgreSQL и многие другие.
ActionPack выполняет маршрутизацию - сопоставление входящего URL-адреса с контроллером и действие в Rails.Он также настраивает ваши контроллеры и представления и обрабатывает запрос с помощью действия контроллера, а затем с помощью рендеринга представления.Для некоторых из них ActionPack использует Rack.Сам рендеринг шаблона выполняется через внешний гем, такой как Erubis для шаблонов .erb или Haml для шаблонов .haml.ActionPack также поддерживает функциональность, ориентированную на действие или представление, например, кэширование представления.
ActionMailer используется для отправки электронной почты, особенно электронной почты на основе шаблонов.Он работает так же, как вы надеетесь, что электронная почта Rails будет с контроллерами, действиями и «представлениями», которые для электронной почты являются текстовыми шаблонами, а не обычными шаблонами веб-страниц.
Стандартное приложение Rails зависит отнесколько драгоценных камней, в частности:
аннотация
actionmailer
actionpack
activemodel
activerecord
activesupport
arel
строитель
связка
erubis
i18n
mail
mime-types
полиглот
стойка
стойка-кеш
стойка
стойка-тест
рельсы
рельсы
грабли
sqlite3-ruby
тор
верхушка дерева
tzinfo