Добро пожаловать в мир Ruby on Rails
Если вы читаете это, вы, вероятно, стремитесь погрузиться в мир веб-разработки, и что может быть лучше, чем начать с Ruby on Rails? Этот фреймворк, созданный Дэвидом Хейнемейером Ханссоном, известен своей элегантностью, мощью и радостью, которую он приносит разработчикам. Так что пристегнитесь, и давайте отправимся в это путешествие вместе.
Что такое Ruby on Rails?
Ruby on Rails, часто называемый просто Rails — это веб-фреймворк для разработки приложений, написанный на языке программирования Ruby. Он создан для того, чтобы облегчить веб-разработку, делая предположения о том, что нужно каждому разработчику для начала работы. Это «предвзятое программное обеспечение» поощряет определённый способ действий, который может значительно повысить вашу продуктивность, если вы изучите «Путь Rails».
Настройка среды разработки
Прежде чем мы перейдём к интересному, давайте настроим нашу среду разработки.
Установка Ruby и Rails
Для начала вам нужно установить Ruby и Rails. Вот шаги:
Установка Ruby: вы можете использовать менеджер версий, такой как RVM (Ruby Version Manager) или rbenv, для установки Ruby. Например, с RVM:
rvm install ruby-3.1.2 rvm use ruby-3.1.2
Установка Rails: после установки Ruby вы можете установить Rails с помощью gem:
gem install rails
Создание нового приложения Rails: теперь давайте создадим новое приложение Rails. Откройте терминал и выполните:
rails new my_app cd my_app
Запуск веб-сервера
Чтобы увидеть ваше приложение в действии, вам необходимо запустить веб-сервер. Выполните следующую команду в каталоге вашего приложения:
bin/rails server
Если вы работаете в Windows, вам может потребоваться использовать:
ruby bin\rails server
Это запустит ваш сервер, и вы сможете получить доступ к своему приложению по адресу http://localhost:3000
.
Понимание паттерна MVC
Rails следует паттерну Model-View-Controller (MVC), который является фундаментальным понятием в веб-разработке.
Модели
Модели представляют данные и бизнес-логику вашего приложения. Они взаимодействуют с базой данных и определяют структуру ваших данных.
Контроллеры
Контроллеры обрабатывают входящие запросы, взаимодействуют с моделями для извлечения или обновления данных, а затем отображают соответствующее представление.
Представления
Представления отвечают за отображение данных пользователю. Обычно они пишутся на HTML и ERB (Embedded Ruby).
Вот простая последовательная диаграмма, иллюстрирующая поток MVC:
Маршрутизация в Rails
Маршрутизация в Rails сопоставляет URL с действиями контроллера. Вот пример того, как вы можете добавить маршрут в файл config/routes.rb
:
Rails.application.routes.draw do
get "/articles", to: "articles#index"
root "articles#index"
end
Это устанавливает маршрут для /articles
и делает корневой путь вашего приложения указывающим на действие index
контроллера ArticlesController
.
Создание вашего первого контроллера и представления
Давайте создадим простое приложение «Привет, Rails!».
Добавление маршрута
Сначала добавьте маршрут в файл config/routes.rb
:
Rails.application.routes.draw do
get "/hello", to: "hello#index"
end
Создание контроллера
Сгенерируйте новый контроллер:
bin/rails generate controller Hello index
Создание представления
Отредактируйте файл app/views/hello/index.html.erb
, чтобы отобразить ваше сообщение:
<h1>Hello, Rails!</h1>
Теперь, когда вы посетите http://localhost:3000/hello
, вы увидите своё сообщение «Hello, Rails!».
Разработка через тестирование (TDD)
TDD является важной частью разработки Rails. Она обеспечивает надёжность и удобство сопровождения вашего кода. Вот краткий пример с использованием RSpec:
Установка RSpec
Добавьте RSpec в свой Gemfile:
group :development, :test do
gem 'rspec-rails', '~> 5.0'
end
Затем запустите:
bundle install
bin/rails generate rspec:install
Написание теста
Создайте тест для своего HelloController
:
# spec/controllers/hello_controller_spec.rb
require 'rails_helper'
RSpec.describe HelloController, type: :controller do
describe 'GET #index' do
it 'возвращает успешный ответ' do
get :index
ожидайте(ответ).to be_successful
end
это 'отображает шаблон индекса' do
получить :индекс
ожидаем(ответ).to render_template('index')
конец
конец
конец
Запустите свои тесты с:
bin/rspec
Развёртывание с Heroku
После создания вашего приложения пришло время его развернуть. Heroku — популярный выбор для развёртывания приложений Rails.
Настройка Heroku
- Установите Heroku CLI: скачайте и установите Heroku CLI с сайта Heroku.
- Создайте приложение Heroku: выполните следующую команду в директории вашего приложения:
heroku create
- Отправьте свой код: отправьте свой код на Heroku:
git push heroku main
- Мигрируйте базу данных: запустите миграции базы данных на Heroku:
heroku run rails db:migrate
Теперь ваше приложение работает на Heroku!
Заключение
Ruby on Rails — мощный и элегантный фреймворк, который делает веб-разработку увлекательным занятием. От настройки вашей среды до развёртывания вашего приложения, Rails предоставляет надёжный набор инструментов и передовых практик, которые помогут вам создавать высококачественные веб-приложения.
Помните, практика делает совершенным. Продолжайте строить, тестировать и развёртывать, и вскоре вы станете мастером Rails.