Последующие главы основаны на примере, взятом в этой главе. В этой главе мы создадим простую, но оперативную библиотечную систему для хранения и управления книгами.
Это приложение имеет базовую архитектуру и будет построено с использованием двух моделей ActiveRecord для описания типов данных, хранящихся в вашей базе данных.
-
Книги — они описывают фактический список книг.
-
Тема — используется для группировки книг.
Книги — они описывают фактический список книг.
Тема — используется для группировки книг.
Рабочий процесс для создания приложений Rails
Рекомендуемый рабочий процесс для создания Приложения Rails следующий:
-
Используйте команду rails для создания основного каркаса приложения.
-
Создайте базу данных с необходимым определением на сервере MySQL для хранения ваших данных.
-
Настройте приложение, чтобы узнать, где находится ваша база данных, и укажите для него учетные данные для входа.
-
Создайте активные записи Rails (модели), потому что они являются бизнес-объектами, с которыми вы будете работать в своих контроллерах.
-
Создание миграций, которые упрощают создание и ведение таблиц и столбцов базы данных.
-
Напишите код контроллера, чтобы жизнь в вашем приложении.
-
Создайте представления для представления ваших данных через пользовательский интерфейс.
Используйте команду rails для создания основного каркаса приложения.
Создайте базу данных с необходимым определением на сервере MySQL для хранения ваших данных.
Настройте приложение, чтобы узнать, где находится ваша база данных, и укажите для него учетные данные для входа.
Создайте активные записи Rails (модели), потому что они являются бизнес-объектами, с которыми вы будете работать в своих контроллерах.
Создание миграций, которые упрощают создание и ведение таблиц и столбцов базы данных.
Напишите код контроллера, чтобы жизнь в вашем приложении.
Создайте представления для представления ваших данных через пользовательский интерфейс.
Итак, давайте начнем с создания нашего библиотечного приложения.
Создание пустого Rails-приложения
Rails — это среда исполнения веб-приложений и набор вспомогательных скриптов, которые автоматизируют многие вещи, которые вы делаете при разработке веб-приложения. На этом шаге мы будем использовать один такой вспомогательный скрипт для создания всей структуры каталогов и начального набора файлов для запуска нашего приложения библиотечной системы.
-
Перейдите в каталог установки ruby, чтобы создать приложение.
-
Запустите следующую команду, чтобы создать каркас для нашего библиотечного приложения.
Перейдите в каталог установки ruby, чтобы создать приложение.
Запустите следующую команду, чтобы создать каркас для нашего библиотечного приложения.
C:\ruby> rails -d mysql library
Это создаст подкаталог для библиотечного приложения, содержащего полное дерево каталогов папок и файлов для пустого приложения Rails. Проверьте полную структуру каталогов приложения. Проверьте структуру каталогов Rails для более подробной информации.
Здесь мы используем параметр -d mysql, чтобы указать наш интерес к использованию базы данных MySQL. Мы можем указать любое другое имя базы данных, например, oracle или postgress, используя опцию -d . По умолчанию Rails использует базу данных SQLite .
Большая часть нашей работы по разработке будет создавать и редактировать файлы в подкаталогах ~ / library / app . Вот краткое изложение о том, как их использовать —
-
Подкаталог controllers — это место, где Rails ищет классы контроллеров. Контроллер обрабатывает веб-запрос от пользователя.
-
Подкаталог views содержит шаблоны отображения для заполнения данными из нашего приложения, преобразования в HTML и возврата в браузер пользователя.
-
Подкаталог models содержит классы, которые моделируют и упаковывают данные, хранящиеся в базе данных нашего приложения. В большинстве сред эта часть приложения может стать довольно грязной, утомительной, многословной и подверженной ошибкам. Rails делает все просто.
-
Подкаталог helpers содержит все вспомогательные классы, используемые для поддержки классов модели, представления и контроллера. Это помогает сохранить размер модели, представления и кода контроллера небольшим, сфокусированным и беспрепятственным.
Подкаталог controllers — это место, где Rails ищет классы контроллеров. Контроллер обрабатывает веб-запрос от пользователя.
Подкаталог views содержит шаблоны отображения для заполнения данными из нашего приложения, преобразования в HTML и возврата в браузер пользователя.
Подкаталог models содержит классы, которые моделируют и упаковывают данные, хранящиеся в базе данных нашего приложения. В большинстве сред эта часть приложения может стать довольно грязной, утомительной, многословной и подверженной ошибкам. Rails делает все просто.
Подкаталог helpers содержит все вспомогательные классы, используемые для поддержки классов модели, представления и контроллера. Это помогает сохранить размер модели, представления и кода контроллера небольшим, сфокусированным и беспрепятственным.
Запуск веб-сервера
Веб-приложение Rails может работать практически на любом веб-сервере, но наиболее удобный способ разработки и тестирования веб-приложения на Rails — это использование встроенного веб-сервера WEBrick. Давайте запустим этот веб-сервер и перейдем к нашему пустому библиотечному приложению.
Этот сервер будет запущен из каталога приложений следующим образом. Он работает на порт № 3000 —
C:\> cd ruby\library C:\ruby\library\> ruby script/server
Он запустит ваш веб-сервер WEBrick, который прослушивает веб-запросы на порту с номером 3000 на локальном компьютере.
Теперь откройте ваш браузер и перейдите по адресу http://127.0.0.1:3000 . Если все идет хорошо, вы должны увидеть приветственное сообщение от WEBrick. Ниже приведен экран для успешной настройки —
Если вы не получили приветственное сообщение, как указано выше, это означает, что в вашей настройке что-то не так, и вам нужно исправить это, прежде чем продолжить.
Что дальше?
В следующей главе объясняется, как создавать базы данных для вашего приложения и какая конфигурация необходима для доступа к этим созданным базам данных.
Далее мы увидим, что такое Rail Migration и как он используется для поддержки таблиц базы данных.