Начало работы с Ruby on Rails: создание веб-приложения с Ruby

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

Фреймворк Rails самоуверен, поэтому он работает на основе предположения, что существует « лучший способ делать вещи. В этом руководстве мы познакомим вас с Rails и покажем, как создать веб-приложение.

Чтобы добиться наибольшего успеха, вы должны уже иметь некоторые знания о Ruby, веб-разработке. языки (HTML, CSS и JavaScript) и объектно-ориентированное программирование (ООП).

Краткий обзор этого руководства:

  • Что такое Rails?
  • Основные особенности Rails
  • Анатомия проекта Rails
  • Как создать свое первое приложение Rails
  • MVC и Rails: Hello World
  • Модели и активные записи
  • Следующие шаги для вашего обучения

Узнайте, как создавать сложные приложения 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 : позволяет указать ify npm зависимости для вашего приложения 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.

  • : вы можете вставить любой код Ruby между этими тегами, и результат не будет вставлен в ваш HTML. Это используется для операторов потока управления.
  • : код 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
Оцените статью
nanomode.ru
Добавить комментарий