Опубликован: 27.01.2016 | Доступ: свободный | Студентов: 914 / 58 | Длительность: 23:07:00
Лекция 1:

От нуля к развертыванию

Лекция 1: 123456789 || Лекция 2 >

Первое приложение

Практически все приложения Rails начинают одинаково - с команды rails new. Эта удобная команда создает скелет приложения Rails в любом каталоге на ваш вкус. Для начала создайте каталог для своих Rails-проектов, а затем выполните команду rails new, чтобы создать первое приложение (Листинг 1.3):

$ mkdir rails_projects
$ cd rails_projects
$ rails new first_app
      create
      create  README.rdoc
      create  Rakefile
      create  config.ru
      create  .gitignore
      create  Gemfile
      create  app
      create  app/assets/javascripts/application.js
      create  app/assets/stylesheets/application.css
      create  app/controllers/application_controller.rb
      .
      .
      .
      create  test/test_helper.rb
      create  tmp/cache
      create  tmp/cache/assets
      create  vendor/assets/javascripts
      create  vendor/assets/javascripts/.keep
      create  vendor/assets/stylesheets
      create  vendor/assets/stylesheets/.keep
         run  bundle install
.
.
.
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled
gem is installed.
Листинг 1.3. Запуск rails new для генерации нового приложения.

Как видно в конце Листинга 1.3, запуск rails new автоматически выполняет команду bundle install после завершения создания файлов. Если этот шаг сейчас не сработал, не переживайте; следуйте шагам в Разделе 1.2.4 и у вас почти наверняка все получится.

Отметьте, сколько файлов и каталогов создает команда rails new. Эта стандартная структура файлов и каталогов (Рис. 1.2) является одним из многих преимуществ Rails; это немедленно переносит вас от нуля к действующему (минимально) приложению. Кроме того, так как эта структура является общей для всех приложений Rails, можно сразу сориентироваться, глядя на чей-либо код. Обзор дефолтных Rails файлов представлен в Таблице 1.1; мы узнаем о большинстве этих файлов и каталогов в остальной части этой книги. В частности в Разделе 5.2.1 мы обсудим директорию app/assets, являющуюся частью asset pipeline(# далее по тексту - "файлопровод") который значительно упрощает организацию и разворачивание активно используемых файлов (assets), таких как каскадные таблицы стилей и JavaScript файлы.

Структура каталогов вновь созданного Rails-приложения. (полный размер)

Рис. 1.2. Структура каталогов вновь созданного Rails-приложения. (полный размер)
Таблица 1.1. Обзор дефолтной структуры каталогов Rails.
Файл/Директория Назначение
app/ Основной код приложения (app), включает модели, представления, контроллеры и хелперы
app/assets "Активы" приложения такие как каскадные таблицы стилей (CSS), JavaScript файлы и изображения
bin/ Бинарные исполняемые файлы
config/ Конфигурация приложения
db/ Файлы базы данных
doc/ Документация для приложения
lib/ Библиотека модулей
lib/assets Библиотека "активов", таких как каскадные таблицы стилей (CSS), JavaScript файлы и изображения
log/ Файлы логов приложения
public/ Публично доступные данные (например, веб-браузерам), такие как страницы ошибок приложения
bin/rails Программа для генерации кода, открытия консольных сессий, или запуска локального веб-сервера
test/ Тесты приложения (ей на смену придет spec/ директория из Раздела 3.1)
tmp/ Временные файлы
vendor/ Код сторонних разработчиков, такой как плагины и гемы
vendor/assets Сторонние "активы" такие как каскадные таблицы стилей (CSS), JavaScript файлы и изображения
README.rdoc Краткое описание приложения
Rakefile Служебные задачи, доступные посредством rake-команды
Gemfile Гемы необходимые данному приложению
Gemfile.lock Блокирующий список гемов, обеспечивающий использование всеми копиями приложения абсолютно одинаковых версий гемов
config.ru Конфигурационный файл для Rack middleware
.gitignore Правила распознавания файлов, которые должны игнорироваться Git
Лекция 1: 123456789 || Лекция 2 >
Вадим Обозин
Вадим Обозин

Здравствуйте, записался на курс. При этом ставил галочку на "обучаться с тьютором". На email пришло письмо, о том, что записался на самостоятельное изучение курса. Как выбрать тьютора?