Ruby on Rails (часто называемый Rails) — это среда разработки веб-приложений с открытым исходным кодом, написанная на языке программирования Ruby. Rails делает программирование веб-приложений увлекательным и простым: он позволяет писать меньше кода, но дает больше, чем большинство фреймворков.
Фреймворк Rails самоуверен, поэтому он работает на основе предположения, что существует « лучший способ делать вещи. В этом руководстве мы познакомим вас с Rails и покажем, как создать веб-приложение.
Чтобы добиться наибольшего успеха, вы должны уже иметь некоторые знания о Ruby, веб-разработке. языки (HTML, CSS и JavaScript) и объектно-ориентированное программирование (ООП).
Краткий обзор этого руководства:
- Что такое Rails?
- Основные особенности Rails
- Анатомия проекта Rails
- Как создать свое первое приложение Rails
- MVC и Rails: Hello World
- Модели и активные записи
- Следующие шаги для вашего обучения
- Узнайте, как создавать сложные приложения Ruby
- Что такое Rails?
- Основные особенности Rails
- Анатомия проекта Rails
- Как создать свое первое приложение Rails
- New Generator
- Продолжайте обучение.
- MVC и Rails: Hello World
- Embedded Ruby
- Настроить представления и маршруты
- Модели и активные записи
- Соглашения для Active Record
- Следующие шаги для вашего обучения
- Продолжить чтение о веб-приложениях и Rails
Узнайте, как создавать сложные приложения Ruby
В этом курсе вы изучите основы Ruby on Rails для создания собственного приложения. К концу вы сможете создавать сложные приложения.
Введение в Ruby on Rails
Что такое Rails?
Rails — это мощная, чрезвычайно самоуверенная, полнофункциональная структура веб-приложений , построенная на основе внутреннего языка программирования Ruby. Он используется для быстрого создания мощных веб-приложений благодаря своим инновационным функциям, таким как миграция таблиц и каркасы.
Rails предлагает структуру по умолчанию для организации вашего кода и упростить рабочий процесс. Программисты, использующие Rails, говорят, что это делает разработку программного обеспечения намного более увлекательной и простой.

Разработка на Rails основана на архитектуре модель-представление-контроллер (MVC) для организации программирования приложений и руководствуется Принцип разработки программного обеспечения Don’t Repeat Yourself (DRY).
Rails по-прежнему остается популярным в мире разработки веб-приложений. Rails — очень зрелый фреймворк с массой активной поддержки. Тонны компаний ищут талантливых разработчиков на Rails, поскольку эта структура минимизирует время разработки приложений.
Некоторые из крупных компаний, использующих Rails, включают AirBnB, GitHub, Basecamp, Shopify, Soundcloud и Goodreads. Он также популярен среди многих стартапов из-за скорости.
Факты: Средняя базовая зарплата разработчика Rails составляет 116 437 долларов США.
Основные особенности Rails
Любой может изучить Rails, даже если у вас ограниченный опыт работы с кодом Ruby. Rails является полнофункциональным и предлагает множество интегрированных инструментов для быстрого создания динамических приложений. Вот некоторые из важных функций , которые делают Rails таким мощным:
- Автоматическое тестирование: Rails предоставляет встроенное тестирование, поэтому тестовые примеры легче писать и выполнять.
- Scaffolding: Это позволяет легко создавать модели, управляющие данными, представления, которые позволяют пользователю -данные и контроллеры, которые управляют взаимодействием модель-представление.
- Active Record: Rails работает исходя из предположения, что вы должны обеспечить логику доступа к данным как часть объект для обучения пользователей чтению и записи в базу данных. Объекты несут постоянные данные и поведение, которое оперирует этими данными.
- Сообщество Rails: Rails имеет очень активное и заинтересованное сообщество, и в него регулярно вносятся исправления и обновления. .
- Соглашение важнее конфигурации: Rails считает, что соглашение важнее конфигурации. Фреймворк на самом деле принимает решения за вас, чтобы повысить производительность.
Анатомия проекта Rails
Чтобы лучше познакомиться с Rails перед созданием собственного приложения, давайте взглянем на резюме стандартной структуры файлов и каталогов любого приложения Rails.
-
app/
: содержит код основного приложения (контроллеры, модели, представления, помощники, почтовые программы, каналы, задания и ресурсы) -
bin/
: содержит двоичные исполняемые файлы ( скрипты) для запуска, обновления, развертывания или запуска вашего приложения Rails -
config/
: содержит файлы конфигурации для приложение, маршруты, база данных и т. д. -
db/
: содержит файлы базы данных, схему базы данных и миграции базы данных -
lib/
: содержит модули расширенной библиотеки -
log/
: содержит файлы журнала приложения -
public/
: содержит данные, доступные через браузеры (статические файлы, скомпилированные ресурсы, страницы ошибок и т. д.).. ) -
storage/
: содержит файлы активного хранилища -
test/
: содержит модульные тесты приложения, приспособления и различные другие тестовые устройства -
tmp/
: содержит временные файлы (например, файлы кеша и pid) -
vendor/
: содержит любые третьи партийный код -
Gemfile
: содержит требования к гемам для приложения, необходимые Ruby для запуска приложения -
Gemfile.lock
: содержит список драгоценных камней, чтобы гарантировать, что все копии приложения используют одну и ту же версию -
Rakefile
: позволяет командной строке находить и запускать задачиrake
(утилита сборки, подобная Make, реализованная в Ruby для автоматизации задач) -
config.ru
: содержит конфигурацию для серверов промежуточного слоя Rack, используемых для запуска приложения -
package.json
: позволяет указать ifynpm
зависимости для вашего приложения Rails
Как создать свое первое приложение Rails
Если у вас нет это уже, вам нужно установить Rails. Сначала убедитесь, что ваша система соответствует следующим требованиям:
- Ruby
- SQLite3
- Node.js
- YarnКак только вы освоите их, установите Rails с помощью команды
gem install
, предоставленной RubyGems.
$ gem install rails
Затем убедитесь, что все установлено правильно, выполнив следующее:
$ rails --version
Он должен сказать что-то вроде «Rails 6.0.0». Теперь вы готовы создать проект.
New
Generator
Rails поставляется со встроенным скрипты, называемые генераторами , которые автоматически создают все необходимое для запуска нового проекта. Чтобы создать новое приложение, вы вызываете генератор new
.
Считайте это основой всего вашего проекта. Генератор new
создает проект в каталоге my_project
со структурой приложения.
Для использования new
generator, мы запускаем эту команду:
rails new my_project
Теперь у вас должно быть приложение. Теперь мы используем сценарий Rails для запуска веб-сервера Puma, который развернет наше приложение Rails.. Мы cd
в папку проекта и запускаем следующую команду:
rails server
Вы также можете запустить сервер с дополнительными параметрами.
Продолжайте обучение.
Изучите Ruby on Rails, не просматривая видео или документация. Текстовые курсы Educative просты в использовании и включают среду программирования в реальном времени, что делает обучение быстрым и эффективным.
Введение в Ruby on Rails
MVC и Rails: Hello World
Давайте заставим Rail сказать «Привет». Для этого нам нужно создать представление, маршрут и контроллер с действием. Маршруты сопоставляют запрос с действием нашего контроллера. Действие контроллера обрабатывает запрос и подготавливает данные для нашего представления. Представление просто отображает наши данные в желаемом формате.
Эти функции являются частью шаблона проектирования MVC Rails.
MVC — шаблон проектирования, который разделяет логика программы на три элемента: модели, представления и контроллеры. Это разделяет данные приложения и код. Rails размещает почти всю логику модели, представления и контроллера на стороне сервера .
Синтаксис: Маршруты — это правила, написанные на Ruby DSL (предметно-ориентированном языке). Контроллеры — это, по сути, просто классы Ruby. Любые публичные методы — это действия. Представления — это шаблоны в HTML и Ruby.
Сначала мы создаем клиентский контроллер и представление. Чтобы создать новый контроллер, мы запускаем сценарий генератора контроллера в корневом каталоге проекта my_project/:
.
rails generate controller Hello index
Это создает контроллер с именем Hello
и действие с именем index
.
Наш контроллер находится здесь:
app/controllers/hello_controller.rb
, а наше представление находится здесьapp/views/welcome/index.html. erb
.
Embedded Ruby
Расширение .erb
выше означает что файл написан на Embedded Ruby , который используется по умолчанию для шаблонов представлений.
В ваших файлах html.erb
, вы можете использовать теги для встраивания кода Ruby в HTML.
Настроить представления и маршруты
В index.html. erb
добавляем строку:
Hello World on Rails!
Это то, что будет отображаться на корневой странице приложения /
. Однако, если мы запустим приложение сейчас, мы перейдем на старую страницу, потому что корень в настоящее время занят страницей, созданной при запуске программы.
Чтобы изменить это, мы вносим изменения в наш config/routes.rb
файл. По сути, мы должны указать файлу, где находится новая домашняя страница.
Ваш файл маршрутизации будет связывать URL-адреса с нашим кодом и создавать пути из вашего кода.
Общий синтаксис для определения маршрута следующий:
HTTP_method 'controller_name/action_name'
Для наших целей имя_контроллера
— это hello
, а имя действия — index
. Вот пример запроса fa GET.
get 'hello/index'
Но мы определяем корень нашего Приложение Rails, поэтому наш синтаксис отличается.
root 'hello # index'
Браузеры делают запросы в приложение Rails с помощью методов HTTP (GET, PUT, POST, PATCH и DELETE). Каждый из этих HTTP-методов запрашивает выполнение операции в вашем приложении.
Итак, наш routes.rb
будет выглядеть следующим образом:
Rails.application. routes.draw do get 'hello/index' root 'hello # index' # Подробнее о DSL, доступном в этом файле, см. http://guides.rubyonrails.org/routing.htmlend
Теперь, когда мы запустим приложение, оно отобразит желаемое сообщение «Hello World on Rails!»
.
Модели и активные записи
Модель Rails — это класс Ruby, предназначенный для добавления записей в базу данных. Как правило, модели должны обеспечивать четыре основные функции:
- Create: возможность добавлять данные в запись
- Чтение: возможность найти определенные данные, уже хранящиеся в базе данных.
- Обновление: возможность изменить некоторые существующие данные
- Удалить: возможность удалять данные
Эти функции представляют собой аббревиатуру CRUD .
Rails также использует структуру Active Record для создания и использования наших моделей. Это структура объектно-реляционного сопоставления (ORM) для соединения объектов приложения с таблицами в системе управления реляционными базами данных (RDBMS).
Active Record означает, что мы не нужно писать операторы SQL напрямую, поэтому хранение и извлечение свойств намного проще.
Думайте об этом как об интерфейсе между таблицами вашей базы данных и кодом Ruby.
Соглашения для Active Record
Соглашение об именах для Active Record выглядит следующим образом:
- Модель/Класс: единственное число с заглавной первой буквой каждого слова (например, SaleItem)
- Таблица/Схема : Множественное число с подчеркиванием, разделяющим слова (например, sale_items)
Давайте применим это к нашему приложению. Предположим, вы создаете приложение для зоомагазина. Нам нужно хранить данные для каждого питомца (например, имя и возраст). Нам нужна база данных и модель.
Давайте создадим новое приложение pet_store
, чтобы лучше понимать CRUD.
rails new pet_store
Синтаксис для создания новой модели:
rails generate model ModelName ColumnName: ColumnType ColumnName: ColumnType
Теперь мы запускаем команду для создания новой модели внутри созданной нами папки проекта:
rails generate model Pet name : string age: string
Это создает два файла:
-
db/migrate/ _create_pets .rb
: файл миграции. -
app/models/pet.rb
: файл для вашей модели
Следующие шаги для вашего обучения
Поздравляю, вы дочитали до конца! Теперь у вас должна быть база для создания собственных приложений Ruby on Rails. Еще есть чему поучиться. Следующие шаги должны понять:
- Миграции в Rails
- Структура модели
- Структура комментариев
- Тестирование с помощью Rails
Чтобы получить практическую практику с ними, ознакомьтесь с учебным курсом Введение в Ruby on Rails. Вы изучит основы Ruby on Rails и начнёт с изучения того, как создать новый проект, развернуть его на сервере Rails и шаблону проектирования Rails. После этого вы узнаете, как выполнять операции CRUD, обрабатывать аутентификацию пользователей и управлять сеансами.
К концу вы сможете создавать сложные приложения Rails и добавлять этот навык в свои портфолио.
Удачного обучения!
Продолжить чтение о веб-приложениях и Rails
- Учебное пособие по Ruby для программистов на Python: как переключиться
- Учебное пособие по Ionic Framework: создать свое первое кроссплатформенное приложение
- Как сделать Разработка веб-приложения: архитектура программного обеспечения 101