Учебное пособие по Ruby on Rails

⚡ Умное резюме

В этом руководстве по Ruby on Rails представлен веб-фреймворк с открытым исходным кодом, написанный на Ruby, который используется такими компаниями, как Airbnb, GitHub и Shopify. Пошаговое руководство охватывает установку на WindowsMac и Linux: генераторы Rails, маршрутизация, представления, ActiveRecord, валидация и отладка.

  • 💎 Язык и структура: Ruby — это динамический объектно-ориентированный язык, разработанный для обеспечения читаемости кода, а Rails — это полнофункциональный MVC-фреймворк, построенный на его основе.ping веб-приложения быстро.
  • 🇧🇷 Настройка кроссплатформенности: Установите Ruby и Rails на Windows с использованием RubyInstaller, на Mac через Homebrew, и на Ubuntu В Linux установка выполняется через pt, затем — с помощью gem install rails.
  • 🇧🇷 Руководящие принципы: Rails придерживается принципов «Не повторяйся» и «Соглашения важнее конфигурации», благодаря чему команды пишут меньше шаблонного кода и следуют предсказуемой структуре проекта.
  • ⚙️ GeneratorМаршрутизация и s: Используйте Rails для генерации кода CRUD, а затем полагайтесь на config/routes.rb для сопоставления RESTful-функций. URLколичество действий контроллера в секундах.
  • 🇧🇷 Мощность ActiveRecord: ActiveRecord сопоставляет классы Ruby с таблицами базы данных, поддерживает миграции, ассоциации и проверки, а также обеспечивает согласованность данных в разных средах.

Учебное пособие по Ruby on Rails

Что такое Руби?

Ruby Ruby — это высокоуровневый, интерпретируемый, объектно-ориентированный язык программирования. Это динамичный язык с открытым исходным кодом и большим сообществом. Ruby был разработан для простоты и продуктивности. Он поощряет написание программного кода, ориентированного в первую очередь на человека, а во вторую — на компьютер. Юкихиро Мацумото создал Ruby в Японии в 1995 году.

Что такое Рельсы?

Rails Rails — это фреймворк для разработки веб-приложений, написанный на Ruby. Он был создан как основа для приложения Basecamp, а затем выпущен как программное обеспечение с открытым исходным кодом в 2004 году. Rails предлагает множество встроенных стандартных функций и возможностей, что делает его подходящим выбором для MVP-прототипа.ping и быстрая разработка продукции.

Rails был создан Дэвидом Хайнемайером Ханссоном, широко известным как DHH. Это один из самых влиятельных и популярных инструментов для создания веб-приложений. Его используют такие крупные компании, как Airbnb, GitHub и Shopify.

Почему рельсы?

Перед установкой набора инструментов полезно понять, почему Rails остается популярным выбором для разработки программного обеспечения.ping Веб-приложения быстро.

  • Rails поставляется в виде Ruby-гема, и вы можете использовать его для создания самых разнообразных приложений.
  • Это позволяет создавать обычные веб-приложения, сайты электронной коммерции, системы управления контентом и многое другое.
  • Rails — это полнофункциональный фреймворк, включающий в себя все необходимое для создания веб-приложения, работающего с базами данных, с использованием паттерна Model-View-Controller (MVC).
  • Все слои разработаны для бесперебойной совместной работы, поэтому в проектах Rails обычно требуется меньше строк кода, чем в аналогичных проектах на других фреймворках.

Как загрузить и установить Ruby на Windows

Процесс установки зависит от вашей операционной системы. В следующих разделах описана установка Ruby на Windows, Mac и Linux.

Шаг 1) Скачайте Rubyinstaller.
Самый простой способ установить Ruby на свой Windows Компьютер подключен через Ruby Installer, доступный по адресу: https://rubyinstaller.org/.

После загрузки запустите установщик.

Шаг 2) Нажмите на загруженный установщик.
Double-Щелкните по загруженному файлу установщика, например rubyinstaller-2.4.1-2-x64.exe.

Шаг 3) Примите лицензию.
Выберите переключатель «Я принимаю лицензионное соглашение» и нажмите кнопку «Далее». Вы должны увидеть экран, показанный ниже.

Загрузите и установите Ruby на Windows

Шаг 4) Отметьте галочками первые два поля.
Установите первые два флажка, чтобы упростить запуск скриптов Ruby.

Нажмите кнопку «Установить», чтобы начать установку. После завершения установки вы увидите экран, показанный ниже.

Загрузите и установите Ruby на Windows

Шаг 5) Нажмите на Готово.
Не снимайте галочку с опции установки MSYS2. Нажмите «Готово», чтобы завершить установку. Откроется окно командной строки, как показано ниже.

Загрузите и установите Ruby на Windows

Шаг 6) Установите MSYS2.
На этом этапе устанавливается MSYS2, платформа сборки, которая включает в себя менеджер пакетов для простой установки пакетов. Windows.

Нажмите Enter, чтобы установить все компоненты, поскольку они необходимы для бесперебойной работы среды разработки Ruby on Rails. Windows.

Загрузите и установите Ruby на Windows

Установка рельсов

У вас должен быть установлен Ruby из предыдущего раздела. Далее установите Rails. Вы можете установить Rails, используя пакет из [ссылка на пакет]. RailsInstallerОднако пакет часто не содержит последнюю версию всех необходимых зависимостей.

Если у вас уже установлена ​​последняя версия Ruby, а также базовые RubyGems и расширения, просто выполните следующую команду в командной строке, чтобы установить Rails в вашей системе: gem install rails.

Вам также потребуется установить Node.js Если у вас его ещё нет, потому что некоторые библиотеки, от которых зависит Rails, требуют его наличия. JavaДля корректной работы среды выполнения скриптов. Получите Node.js по ссылке: https://nodejs.org.

Более распространенный и предпочтительный подход по Windows это использовать Windows Подсистема для Linux. Она предоставляет среду GNU/Linux с инструментами командной строки, утилитами и распространенными приложениями непосредственно внутри. Windows.

Установка Ruby на Mac

На вашем Mac уже предустановлен Ruby. Однако предустановленная версия часто устарела, поэтому вам следует установить более новую версию.

Проще всего это сделать с помощью менеджера пакетов, например, такого. HomebrewВозможно, сначала вам потребуется установить Homebrew, выполнив следующую команду в терминале.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

При этом отобразится предупреждение и запрос на ввод пароля. Введите пароль от вашего Mac (символы не отображаются по мере ввода) и нажмите Enter. Затем выполните эту команду Homebrew, чтобы установить Ruby на ваш Mac.

brew install ruby

Затем выполните следующую команду:

echo 'export PATH="/usr/local/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile

Это установит новую версию Ruby в качестве версии Ruby по умолчанию в вашей системе, вместо предустановленной версии Ruby.

Для подтверждения успешной установки выполните в терминале следующую команду:

ruby --version

Эта команда выводит номер установленной у вас версии Ruby. Результат будет выглядеть примерно так:

ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]

Установка Ruby на Ubuntu (Linux)

Самый простой способ установить Ruby на Ubuntu Установка Ruby осуществляется через менеджер пакетов pt. Выполните следующие команды в терминале, чтобы установить последнюю версию Ruby. Ubuntu Хранилища.

  • Обновление sudo apt – Это обновляет значение по умолчанию. Ubuntu Хранилища.
  • sudo apt install ruby-full – Это загружает и устанавливает последнюю версию Ruby.

Для подтверждения установки выполните команду ruby –версияЭта команда выводит версию Ruby, которая у вас установлена.

Установка рельсов на Ubuntu (Linux)

Выполните следующие шаги, чтобы установить Rails на свой компьютер под управлением Linux.

Шаг 1) Обновите менеджер гемов, выполнив команду: gem update -system в терминале или командной строке.

Шаг 2) Run рельсы для установки драгоценных камней чтобы установить последнюю версию Rails на свой компьютер.

Шаг 3) Установите гем bundler для удобного управления зависимостями гемов в приложениях Rails. Запустите gem install bundler.

Два принципа Rails

Rails следует основным принципам проектирования программного обеспечения и призывает вас тоже их использовать.

Двумя наиболее распространенными являются:

  • Не повторяйся (СУХОЙ) – это приводит к лаконичному, согласованному и поддерживаемому коду.
  • Соглашение важнее конфигурации – Rails предварительно настроен с разумными параметрами по умолчанию, подходящими для большинства распространенных случаев использования. Это ускоряет разработку приложений и сокращает объем кода, который необходимо поддерживать.

Rails — файловые структуры проекта

После установки Rails на вашу систему создайте приложение Rails. В следующих разделах будет рассмотрен пример на Ruby on Rails, демонстрирующий создание приложения со списком дел. Для создания приложения выполните следующую команду в терминале:

rails new todo_app

Эта команда создает каталог с именем todo_app в текущем каталоге с базовой структурой папок веб-приложения Rails, как показано ниже.

Rails — файловые структуры проекта

Вот основные директории, созданные для проекта:

приложение – Подкаталоги группируются для пользовательского интерфейса/макета (представления и вспомогательные функции), контроллера (файлы контроллеров) и моделей (бизнес-логика/логика приложения).

приложение / контроллеры – хранит файлы контроллеров, используемые Rails для обработки запросов от клиента.

приложение / активы – содержит статические файлы, необходимые для работы интерфейса приложения, сгруппированные по типу: JavaСценарий файлы, изображения и таблицы стилей.

приложение / помощники – содержит вспомогательные функции, которые позволяют вашей модели приложения, представлению и логике контроллера оставаться лаконичными, компактными и не перегруженными.

приложение/модели – содержит файлы, которые моделируют базу данных вашего приложения. Классы модели значительно упрощают работу с базой данных.

приложение / просмотры – содержит файлы шаблонов/макетов, с которыми взаимодействует пользователь вашего приложения. Шаблоны объединяют HTML с данными из базы данных.

бункер – содержит скрипты Rails, которые запускают ваше приложение. Также может включать другие скрипты, используемые для настройки и обновления приложения.

конфиг – содержит файлы конфигурации, такие как база данных.yml, среда.рб, маршруты.рби т. д., которые необходимы вашему приложению для работы.

db – содержит файлы и скрипты, используемые для управления базой данных вашего приложения.

Lib – содержит расширенные модули для вашего приложения.

журнал – содержит файлы журналов, такие как server.log, development.log, test.log и Production.logИспользуется для отладки или мониторинга вашего приложения.

что такое варган? – содержит статические файлы и скомпилированные ресурсы, такие как HTML-файлы. JavaСкриптовые файлы, изображения и таблицы стилей.

тест – содержит тестовые файлы, которые вы пишете для проверки функциональности вашего приложения.

TMP – содержит временные файлы, такие как кэш и PID-файлы.

продавец – содержит библиотеки сторонних разработчиков.

Gemfile – определяет основные требования к гемам для запуска вашего веб-приложения. Вы можете сгруппировать гемы по категориям разработки, тестирования или продакшена, и Rails будет знать, когда следует включить каждый гем.

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

Readme.md – Используйте этот файл, чтобы поделиться важной информацией о вашем приложении, например, что оно делает, как его установить и запустить.

Рейкфайл – содержит различные определения задач rake, которые помогают автоматизировать повседневные административные задачи вашего приложения.

config.ru – Файл конфигурации Rack, предоставляющий интерфейс для запуска вашего приложения на веб-сервере.

Перейдите в другую директорию. todo_app каталог Rails сгенерирован и запущен сервер Rails для запуска приложения. Тип локальный: 3000 В адресной строке вашего веб-браузера введите [текст, показанный ниже]. Если все прошло успешно, вы должны увидеть изображение, показанное ниже.

Rails — файловые структуры проекта

Это домашняя страница вашего приложения по умолчанию. Вы измените её в следующем разделе этого руководства по Ruby on Rails. Вы можете остановить сервер, нажав клавишу Enter. Ctrl + C.

Rails – Генерация команд

Команда `Rails generate` использует шаблоны для создания множества полезных элементов в вашем приложении. Эти генераторы значительно экономят время.

Они пишут шаблонный код, необходимый для работы вашего веб-приложения. Запустите рельсы генерируют Чтобы увидеть список доступных генераторов, откройте его в командной строке или терминале, как показано ниже.

Rails – Генерация команд

Вы также можете запустить рельсы генерируют Чтобы увидеть описание того, что делает команда, необходимо ознакомиться с её описанием. В нём перечислены удобные параметры и приведён пример использования. На рисунке ниже показан вывод команды. rails generate controller.

Rails – Генерация команд

Используйте команду `rails generate scaffold` для автоматического создания модели, представления и контроллера для приложения списка дел, которое вы разрабатываете. Выполните следующую команду в терминале (убедитесь, что вы все еще находитесь в...). todo_app каталог):

rails generate scaffold todo_list title:string description:text

Это создаёт полноценный веб-интерфейс CRUD (создание, чтение, обновление, удаление) для таблицы TodoLists.

Еще одна полезная команда, которую нужно знать: рельсы разрушаютЭто обращает вспять всё, что угодно. рельсы генерируют делает.

Рельсы — Маршрутизация

Система маршрутизации Rails, называемая маршрутизатором Rails, обрабатывает все входящие запросы к вашему веб-приложению. Она анализирует URL обрабатывает каждый запрос и сопоставляет его с действием контроллера, ответственным за его обработку, используя синтаксис, указанный в файле маршрутов.config / routes.rb).

Файл маршрутов управляет каждым URL аспект вашего веб-приложения. Rails использует RESTful-дизайн, основанный на архитектурном стиле REST, который предоставляет карту.ping между HTTP-глаголами и запросом URLдействия контроллера.

Файл маршрутов был создан при запуске рельсы новые Ранее. Продолжая разработку приложения Todo, выполните следующие действия:

rails db:migrate

Убедитесь, что вы по-прежнему находитесь в корневой директории приложения ( todo_app каталог).

Запустите сервер снова с помощью сервер Rails, Тип http://localhost:3000/todo_lists/ Откройте окно браузера и нажмите Enter. Вы должны увидеть веб-страницу, похожую на ту, что показана ниже.

Рельсы — Маршрутизация

Это представление списка задач, сгенерированное командой scaffold, и оно управляется контроллером TodoListsController. индекс действия.

Чтобы добавить список дел, нажмите кнопку «Новый список дел» на странице. Вы должны увидеть экран, показанный ниже.

Рельсы — Маршрутизация

Обратите внимание, что URL Сейчас http://localhost:3000/todo_lists/newЭто страница для создания нового списка дел, и она управляется контроллером TodoListsController. новый метод.

Введите заголовок и описание вашего списка дел в форму и нажмите «Создать список дел». URL должен измениться на http://localhost:3000/todo_lists/1, как показано ниже.

Рельсы — Маршрутизация

Это страница отображения списка задач, управляемая контроллером TodoListsController. по оценкам, метод. Если вы вернетесь к http://localhost:3000/todo_lists/Теперь вы должны увидеть экран, показанный ниже, с добавленным новым списком дел.

Рельсы — Маршрутизация

Rails смог сопоставить каждый запрос с соответствующим действием TodoListsController, используя определение маршрута в config / routes.rb.

Если вы заглянете в этот файл, то увидите всего одну строку. ресурсы :списки_задачЭто стандартный способ написания RESTful-маршрутов в Rails. Эта единственная строка создает семь маршрутов, все они имеют тип map.ping к контроллеру TodoLists.

По общепринятой практике, каждое действие контроллера соответствует определенной операции CRUD (создание, чтение, обновление, удаление) в базе данных.

Run железнодорожные маршруты В командной строке вы можете увидеть различные маршруты, доступные в вашем приложении. На рисунке ниже показан результат выполнения команды. железнодорожные маршруты.

Рельсы — Маршрутизация

Рельсы – Виды

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

ERB упрощает написание и поддержку шаблонов, сочетая простой текст с кодом Ruby для подстановки переменных и управления потоком выполнения. Шаблон ERB использует .html.erb расширение.

В основном вы будете использовать два тега-маркера, каждый из которых приводит к обработке и оформлению встроенного кода определенным образом.

Метка со знаком равенства <%= %> Это означает, что встроенный код является выражением, и результат этого кода должен быть подставлен в выходные данные при рендеринге шаблона.

Другой тег без знака равенства <% %> указывает средству отрисовки, что результат выполнения кода не должен подставляться или выводиться в выходные данные.

Каждый контроллер в вашем приложении Rails имеет соответствующий подкаталог в приложение / просмотрыи каждое действие в контроллере имеет соответствующее .html.erb файл в этой подкаталоге.

Взгляни на приложение / просмотры В разрабатываемом вами приложении Todo вы найдете подкаталог с именем списки дел содержащие .html.erb файлы с именами, соответствующими действиям в Списки дел Контроллер.

Rails — ActiveRecord, шаблон активной записи и ORM

ActiveRecord — это реализация шаблона Active Record на языке Ruby. В этом шаблоне класс представляет собой таблицу базы данных, а экземпляр класса — строку в этой таблице.

ActiveRecord обычно называют ORM (объектно-реляционной картой).pingСлой управления базами данных — это технология, позволяющая управлять базой данных с помощью языка, с которым вам удобнее всего работать. Он не зависит от конкретной базы данных, поэтому вы можете легко переключаться между ними — например, SQLite, MySQL, PostgreSQLSQL Server или Oracle — используя тот же код и логику.

Например, чтобы получить массив, содержащий все списки задач в вашем приложении, вам не нужно писать код, который открывает соединение, выполняет SQL-запрос SELECT и преобразует результат.

Просто напечатайте TodoList.allА ActiveRecord возвращает массив, заполненный объектами TodoList, которые вы можете использовать по своему усмотрению.

Вам нужно всего лишь настроить конфигурацию. config / database.ymlActiveRecord обрабатывает различия между системами баз данных. При переходе с одной базы данных на другую вам не нужно переписывать код.

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

В Rails имена классов моделей преобразуются во множественное число для поиска соответствующей таблицы в базе данных. Таким образом, для класса Список делActiveRecord использует таблицу базы данных под названием списки дел.

Рельсы – Миграции

Миграция в Rails — это скрипт, который используется для развития базы данных вашего приложения. Он позволяет настроить или изменить базу данных без необходимости вручную писать SQL-запросы.

Он использует Ruby для определения изменений в схеме базы данных и позволяет использовать систему контроля версий для синхронизации базы данных между различными средами.

В Rails Migrations используется предметно-ориентированный язык (DSL) Ruby. Он выступает в качестве абстрактного языка.tracи позволяет использовать или изменять механизм вашей базы данных в соответствии с вашими требованиями.

Миграции можно передавать любому пользователю, работающему над приложением, а также откатывать, чтобы отменить изменения. Это надежный механизм безопасности, поэтому вам не нужно беспокоиться о нанесении необратимого ущерба вашей базе данных.

Rails — Ассоциации ActiveRecord

Связь между двумя моделями ActiveRecord называется ассоциацией. Ассоциации значительно упрощают выполнение операций над связанными записями в вашем коде. Существует четыре распространенных категории.

Индивидуальный подход: Запись содержит ровно один экземпляр другой модели. Хороший пример — профиль пользователя: у пользователя всего один профиль. Он использует has_one ключевое слово.

Один ко многим: Наиболее распространенная ассоциация — одна модель имеет ноль или более экземпляров другой модели. Используйте имеет_много ключевое слово для обозначения этой ассоциации.

Многие ко многим: Ситуация несколько сложнее. ActiveRecord предоставляет два способа решения этой проблемы: has_and_belongs_to_many и has_many :throughЭто дает вам доступ к модели объединения, определенной в отдельной таблице.

Полиморфный «один ко многим»: Более продвинутая ассоциация в Rails. Она определяет модель, которая может принадлежать множеству различных моделей в рамках одной ассоциации.

Rails — валидации ActiveRecord

Проверка достоверности данных помогает убедиться в их правильности, поскольку работа с некорректными данными рискованна и может привести к финансовым потерям для вашего бизнеса.

Валидация также обеспечивает дополнительный уровень безопасности от злоумышленников, пытающихся внедрить вредоносные данные в вашу базу данных. Rails предлагает удобный API вспомогательных функций валидации в ActiveRecord, которые поддерживают чистоту, безопасность и отсутствие ошибок в вашей базе данных.

Валидация ActiveRecord выполняется над объектами модели перед сохранением в базу данных, что делает её более надёжной и соответствует передовой практике.

Следующие методы ActiveRecord запускают проверку данных при вызове для объектов модели: создавать, создавать!, сохранять, сохранять!, обновлять и обновлять!Версии с взрывным звуком (Создать!, сохранить! и обновить!В случае недействительной записи возникает исключение, тогда как в версиях без восклицательного знака возвращается значение false.

Наиболее распространенные вспомогательные функции проверки ActiveRecord:

  • подтверждение: Проверяет, имеют ли два поля одинаковое значение, например, пароль и подтверждение пароля. Используется совместно со вспомогательной функцией проверки присутствия.
  • Присутствие: Проверяет, не пустое ли это поле.
  • Уникальность: обеспечивает уникальное значение для поля, например, имени пользователя.
  • Длина: Устанавливает ограничение на длину символа в поле.

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

Проверьте модель Ошибки Это позволит выяснить причину сбоя проверки. Это даст вам все необходимое для повышения уровня безопасности и ограничения доступа к данным в вашем приложении, позволяя заносить в базу данных только корректные данные.

Рельсы — ActionController

Контроллер Rails — это центр вашего веб-приложения. Он облегчает и координирует связь между пользователем, моделями и представлениями.

Ваши классы контроллеров наследуются от Контроллер приложенийкоторый содержит код, который может выполняться во всех других контроллерах и который, в свою очередь, наследует от ActionController::Base.

Контроллер предоставляет вашему приложению следующее:

  • Она перенаправляет внешние запросы на выполнение внутренних задач.
  • Он управляет кэшированием, повышая производительность вашего приложения.
  • Он управляет вспомогательными методами, расширяющими возможности шаблонов представлений, а также пользовательскими сессиями, обеспечивая пользователям бесперебойную работу.

Рельсы – Конфигурации

Вы можете настраивать такие компоненты, как инициализаторы, ресурсы, генераторы и промежуточное ПО, используя файлы инициализации и конфигурации вашего приложения Rails. конфиг каталог. Файлы типа config/application.rb, config/environments/development.rb и config/environments/test.rb Здесь используются определенные параметры. Вы также можете добавить собственные настройки для своего приложения.

Рельсы — Отладка

В процессе разработки приложения вам потребуется отлаживать код. Rails упрощает этот процесс благодаря функции отладки. отладка gem. Вы можете начать сеанс отладки, указав ключевое слово. отладка в любом месте кода вашего приложения.

Это временно останавливает выполнение в этом месте. Гем byebug предлагает несколько команд. Наиболее полезные из них:

  • следующий: переходит к следующей строке кода, пропускаетping все методы, вызываемые текущей строкой кода.
  • шаг: похож на следующийно при этом происходит пошаговое выполнение каждого вызываемого метода.
  • перерыв: останавливает выполнение кода.
  • Продолжить: продолжает выполнение кода.

Доступны и другие инструменты отладки, например: подглядыватьВсе они предлагают схожую функциональность, но с немного отличающимся синтаксисом. Отладочные гемы не следует использовать в продакшене, поскольку они представляют риски для вашего приложения и ухудшают пользовательский опыт.

Журналы событий можно проверять на наличие ошибок в производственной среде и обрабатывать соответствующим образом. Также следует придерживаться подхода разработки через тестирование (TDD) при создании приложения, чтобы убедиться в его корректной работе перед развертыванием в производственной среде.

Часто задаваемые вопросы (FAQ)

Да. Rails по-прежнему используется в GitHub, Shopify и Basecamp, а в версии 7 добавлены Hotwire, импорт карт и встроенная поддержка редактора Trix. Он остается отличным выбором для команд, которым необходима быстрая итерация с проверенными временем подходами.

Rails использует Ruby. Django использования PythonОба являются полнофункциональными MVC-фреймворками с мощными ORM. Rails опирается на соглашения и генераторы кода, в то время как Django предоставляет административный интерфейс и более строгую явную конфигурацию, которую многие команды предпочитают для проектов с большим объемом данных.

К распространенным путям развертывания относятся: HerokuRender, Fly.io и AWS через Capistrano или Docker. Большинство команд предварительно компилируют ресурсы с помощью rake assets:precompile, устанавливают RAILS_ENV=production, запускают rails db:migrate и запускают приложение за Puma с Nginx или управляемым балансировщиком нагрузки.

Да. Искусственный интеллект может создавать модели, предлагать запросы ActiveRecord, составлять тесты RSpec и проверять миграции. Всегда проверяйте сгенерированный код на соответствие соглашениям Rails и рекомендациям по безопасности перед внесением изменений, особенно если речь идет об аутентификации и изменениях в базе данных.

В приложениях Rails обычно используются сервисы искусственного интеллекта, которые вызываются через Ruby SDK или HTTP-клиенты, такие как Faraday, запросы и ответы хранятся в моделях ActiveRecord, а длительные задачи ставятся в очередь с помощью Sidekiq. Такие библиотеки, как ruby-openai и langchainrb, упрощают настройку современных функций ИИ.

Подведем итог этой публикации следующим образом: