Skip to main content

Ruby on Rails. Первые шаги.

Недавно в одной статье я кратко описывал свои впечатления от языка программирования Ruby и почему я начал на нем писать. Разрабатывая приложения на Ruby я не мог не заметить фреймворк для разработки Web-приложений Ruby on Rails. Так как с MVC фреймворками я не очень знаком, пробовал только Yii, а я занимался в основном разработкой модулей для уже готовых систем и их доработкой, времени у меня на изучение особо не было. Однако возможность разрабатывать сайты на Ruby меня заинтересовала. И сегодня я вам постараюсь кратко рассказать об особенностях использования данного фреймворка.

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

А сейчас мы разберемся как установить Ruby on Rails на Ubuntu/Windows.

Установка RoR на Ubuntu

Подробный гайд по установке Ruby on Rails.

Установка RoR на Windows

Установщик для Windows.

Думаю проблем с установкой у вас возникнуть не должно, максимум 25-30 минут при установке на Linux like и пару минут на установку для Windows. На выходе получаем полностью готовый к использованию фреймворк.

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

Создавать веб-приложения на RoR очень просто, достаточно лишь одной команды: rails new AppName. Далее фреймворк создаст папку с именем AppName и всю структуру файлов и папок. Вы сразу можете запустить приложение выполнив команду rails s в папке с проектом и открыв ссылку http://server_ip:3000/ увидите страницу приветствия Rails.

MVC в Ruby on Rails

Как большинство из вас знает MVC — это несколько шаблонов проектирования, а именно Model(Модель), Viewer(Представление/Вид), Controller(Контроллер), с помощью которых модель приложения, его представление и взаимодействие с пользователем разделены на три отдельных части таким образом, чтобы модификация одной части приложения минимально влияла на остальные две.

Контроллер и Вид

Создать контроллер можно командой rails g controller ControllerName .... В качестве параметров мы указываем названия представлений(views). После выполнения данной команды будет создано несколько файлов в папке app/views/ControllerName и сам файл контроллера в папке app/controllers/controller_name.rb. Каждый метод контроллера отвечает за определенное представление(view).

Модель

Контроллер с представлениями создан, теперь нужно сгенерировать модель данных(Model). Вкратце, модель — это то, как наши объекты будут выглядеть в базе данных. В файле модели в основном содержатся валидации, отношения и определенные методы для работы с объектом. Для создания модели предназначена команда rails g model ModelName field:type. После имени модели мы задаем имя первого столбца и его тип и через пробел добавляем еще столбцы. Столбец с id генерировать не нужно, rails делает это автоматически. Для того, чтобы узнать какие типы данных для столбцов доступны введите команду rails g model -h. После создания модели мы получаем файл модели app/models/modelname.rb и миграцию для базы данных в директории db/migrate.

Scaffolding

О миграциях мы поговорим дальше в статье, а я хочу вспомнить о такой штуке как скаффолдинг. Скаффолдинг позволяет нам создать сразу всю структуру объекта, включая представления, контроллер, модель и миграцию. Выполняется он командой rails g scaffold Name param:type. Однако я не рекомендую использовать такой подход, он искажает понимание самого фреймворка Ruby on Rails и может замедлить его изучение.

Миграции

Миграции позволяют нам создавать таблицы в базах данных, изменять и добавлять столбцы в уже существующие таблицы, да и делать практически любые операции с базой данных не прибегая к ручному редактированию базы. Мы просто описываем нашу таблицу, столбцы и типы данных которые в них будут хранится, запускаем миграцию, а далее фреймворк сам все сделает за нас. Миграции генерируются автоматически при создании моделей, однако их можно создавать вручную при помощи команды rails g migration MigrationName. После, в файле миграции объявляем нужные параметры. Подробно о миграциях описано в гайдах.

Роутинг

Прелесть рельс в том, что мы можем создать абсолютно кастомный путь к контроллеру. Редактировать пути можно в файле config/routes.rb. Синтаксис объявления путей очень простой, root 'pages#index' — данная строка означает, что корневой страницей(index) будет у нас контроллер pages и действие index. Get запрос выглядит вот так get 'signup' => 'users#new', ссылка вида http://site.com/signup будет вести к контроллеру users и действию new, что в свою очередь откроет страницу с формой для регистрации. Post запрос post 'signup' => 'users#create' вызовет контроллер users и действие create, этим самым действием будет зарегистрирован новый пользователь. Роутинг довольно большая тема и описать некоторые нюансы у меня не получится, так как будет очень много текста, поэтому более детально можете прочитать вот здесь.

На первых порах фреймворк Ruby on Rails может показаться сложным и многие нюансы вам будут непонятны, однако с опытом все придет само. Главное не останавливаться и постоянно развивать свое приложения, тогда результат будет достигнут и знания получены.
То, что я описал в этой статье, это самый необходимый минимум для создания простого приложения на рельсах.

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

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