Создание вашего первого приложения

Главная / Создание вашего первого приложения

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

Чтобы создать свое первое приложение, перейдите в каталог, в котором хотите его создать. Введите rails new my_first_app, где «my_first_app» — имя приложения.

Это создаст определенную структуру, о которой я расскажу немного ниже.

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

Bundler (менеджер gem’ов)

Ближе к концу создания приложения вы увидите «bundle install». Его идея заключается в том, что в приложении у вас имеется множество разных компонентов, которые объединяются вместе и имеют разные версии, и, очевидно, они должны взаимодействовать.

Один компонент может зависеть от одной версии, другой компонент от другой. И вам нужно разрешить эти зависимости, — это то что делает Bundler.

Контроль версий вашего приложения

Итак, сейчас ваше приложение создано. Rails сгенерировал изначальный скелет и даже немного кода.

Также интересно, что Rails автоматически создает файл .gitignore, что показывает, что он подталкивает вас к использованию Git.

Создаем репозиторий и делаем наш первый коммит:

cd my_first_app
git init
git add .
git commit -m "Initial commit"

Запускаем приложение

Кроме создания скелета приложения, Rails также имеет встроенный веб-сервер.

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

Опционально открываем новое окно терминала, переходим в нужную директорию (cd my_first_app) и выполняем:

rails server

Либо rails s, что является той же командой в сокращенном виде.

Здесь говорится о версии Rails, о режиме в котором вы находитесь (development, т.е. разработки) и адресе по которому запущено приложение (http://localhost:3000).

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

Когда вы развернете ваше приложение, к примеру на Heroku, оно будет работать в режиме production.

Открываем в браузере localhost:3000, и Rails уже приветствует нас.

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

Конвенция структуры директорий

Итак, приложение будет иметь директорию app, на которую вы будете тратить большую часть времени. Она включает модели, контроллеры и представления (папки controllers, models и views), а также хелперы и прочее.

Следующая интересная директория это config, она включает различные конфигурации, к примеру какую БД вы собираетесь использовать и пароль от нее.

Папка db будет иметь скрипты миграций вашей базы данных, а также сам файл БД если вы используете SQLite (которая используется по умолчанию).

Папка public содержит статичные файлы. К примеру, HTML-файлы, которые вы редко будете изменять, пойдут в эту папку.

Gemfile и Gemfile.lock используются Bundler’ом для разрешения зависимостей. Здесь вы указываете нужные gem’ы.

public / hello_static.html

Мы упоминали, что статичные файлы идут в папку public.

Сервер проверяет папку public перед тем как проверить всё остальное. Если файл найден в этой директории, он просто отображается по ссылке.

Так что, если вы хотите добавить полностью статичную страницу, вы добавляете её в эту папку.

Попробуем добавить такой файл.

Переходим на localhost:3000/hello_static.html. Если ваш сервер уже запущен, нет нужды перезапускать его.

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

То есть, Rails дает возможность добавлять статические страницы, но это не та технология и не тот фреймворк, если вы хотите иметь только лишь их.

В итоге

rails new создает новое приложение.

rails server / rails s запускает его (нужно выполнять в папке с самим приложением).

Статичные страницы находятся в папке public.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *