1.2.3 Первое приложение
Фактически все приложения Rails начинают одинаково - с команды rails. Эта удобная программа создает скелет приложения Rails в любом каталоге на Ваш вкус. Чтобы начать, создайте каталог для своих проектов Rails, а затем выполните команду rails, чтобы создать первое приложение:
rails скрипта , для генерации нового приложения.$ mkdir rails_projects $ cd rails_projects $ rails new first_app create create README create .gitignore create Rakefile create config.ru create Gemfile create app create app/controllers/application_controller.rb create app/helpers/application_helper.rb create app/views/layouts/application.html.erb create app/models create config create config/routes.rb create config/application.rb create config/environment.rb . . .
Отметьте, сколько файлов и каталогов создает команда rails. Эта стандартная структура файлов и каталогов (Рис 1.2) является одним из многих преимуществ Rails; это немедленно переносит Вас от нуля к действующему (минимально) приложению. Кроме того, так как эта структура является общей для всех приложений Rails, можно сразу сориентироваться, глядя на чей-либо код. Обзор дефолтных файлов Rails представлен в Таблице 1.1; мы узнаем о большинстве этих файлов и каталогов в остальной части этой книги.
Рисунок 1.2: Структура каталогов недавно вылупившегося приложения Rails.
| Файл/Каталог | Назначение |
|---|---|
| app/ | Базовый код приложения, включает модели, представления, контроллеры, и помощники (хелперы) |
| config/ | Конфигурация приложения |
| db/ | Файлы для манипуляций с базой данных |
| doc/ | Документация для приложения |
| lib/ | Модули библиотеки |
| log/ | log файлы приложения |
| public/ | Публично доступные данные (например, веб-браузерам), такие как изображения и каскадные таблицы стилей (CSS) |
| script/rails | Сценарии, предоставляемые Rails для генерирования кода, открытия консольных сессий, или запуска локального веб-сервера |
| test/ | Тесты приложения будут заменены ( spec/ каталогом Раздел 3.1.2) |
| tmp/ | Временные файлы |
| vendor/ | Сторонний код, такой как плагины и гемы |
| README | Краткое описание(инструкция по использованию) приложения |
| Rakefile | Служебные задачи, доступные через rake команду
|
| Gemfile | Гемы запрашиваемые для этого приложения |
| config.ru | Конфигурационный файл для Rack middleware |
| .gitignore | Перечень файлов, которые должны игнорироваться Git |
Таблица 1.1: Обзор дефолтной структуры каталогов Rails.