Создание простого приложения Ruby on Rails

Изучите основы создания простого приложения Ruby on Rails с помощью пошаговых инструкций по созданию простого приложения «Hello world». Этот учебник является руководством для начинающих по Ruby on Rails и предназначен для пользователей, не имеющих опыта работы с Ruby on Rails.

Требования

  • Облачный сервер под управлением Linux (Ubuntu 16.04 или CentOS 7).
  • Ruby on Rails установлен и запущен.
  • Если у вас есть брандмауэр, вам нужно разрешить доступ к порту 3000.

Установите среду выполнения JavaScript

Вам необходимо установить среду выполнения JavaScript. Начните с установки гема ExecJS, который позволяет выполнять код JavaScript с помощью Ruby:

gem install execjs

Если у вас есть предпочтительная среда выполнения, установите ее. В противном случае мы установим Node.JS для этого проекта.

Ubuntu 16.04

Обновите пакеты вашего сервера и установите curl с помощью следующих команд:

sudo apt-get update
sudo apt-get install curl

Скачайте Node.js PPA:

curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh

Выполните команду nodesource_setup.sh, чтобы добавить PPA в кэш пакетов вашего сервера:

sudo bash nodesource_setup.sh
Примечание

Этот скрипт обновит сервер автоматически. Нет необходимости запускать apt-get update второй раз.

Установите Node.js:

sudo apt-get install nodejs

Это также автоматически установит npm.

Наконец, установите пакет build-essential для npm:

sudo apt-get install build-essential

CentOS 7

Добавьте репозиторий EPEL:

sudo yum install epel-release

Затем установите Node.JS:

sudo yum install nodejs

Наконец, установите менеджер пакетов Node (npm):

sudo yum install npm
Проверка домена

Конструкция MVC

Ruby on Rails использует дизайн на основе MVC. MVC расшифровывается как Model/View/Controller и описывает три основных компонента приложения Ruby on Rails.

Модель

Модель относится к базе данных. Все данные приложения хранятся в модели. По умолчанию Rails использует SQLite, но также поддерживает MySQL и PostgreSQL.

Контроллеры

Контроллеры — это набор файлов, которые определяют, какие действия необходимо выполнить. Контроллеры хранят и извлекают данные из модели (базы данных) по мере необходимости, и используют эти данные (определенные действиями) для создания представления.

Контроллеры направляются маршрутами. Это правила, которые определяют, какие контроллеры будут выполнять те или иные действия. Маршруты определяются в файле routes.rb.

Представление

Представление — это конечный результат, то, что посетитель видит в браузере. Это ответ на действия, определенные контроллерами, — результат всей вашей тяжелой работы над бэкендом.

Создание и тестирование структуры приложения

Команда rails new создаст файловую структуру для вашего приложения. Перейдите в каталог, где вы хотите хранить проекты Ruby on Rails, и используйте эту команду:

rails new hello-world
Примечание

Не забудьте войти в систему как пользователь Ruby.

На этом этапе вы можете провести быстрый тест, чтобы убедиться, что Ruby on Rails настроен и работает правильно. Перейдите в новый каталог hello-world, который был создан предыдущей командой:

cd hello-world

Запустите веб-сервер с помощью команды:

bin/rails s --binding=0.0.0.0 

Должно появиться сообщение:

[user@localhost blog]$ bin/rails server
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop

Протестируйте его, перейдя по адресу http://your-ip:3000, вы должны увидеть стандартную страницу приветствия rails.

Когда вы закончите тестировать установку Rails, нажмите Ctrl+C, чтобы остановить приложение и вернуться в командную строку.

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

Создайте контроллер и действие

Мы начнем с создания контроллера под названием mainpage:

rails generate controller mainpage

Это создаст несколько файлов:

[user@localhost hello-world]$ rails generate controller mainpage
Running via Spring preloader in process 24461
      create  app/controllers/mainpage_controller.rb
      invoke  erb
      create    app/views/mainpage
      invoke  test_unit
      create    test/controllers/mainpage_controller_test.rb
      invoke  helper
      create    app/helpers/mainpage_helper.rb
      invoke    test_unit
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/mainpage.coffee
      invoke    scss
     create      app/assets/stylesheets/mainpage.scss

Первый из них (app/controllers/mainpage_controller.rb) — это тот, который мы будем использовать. Откройте этот файл для редактирования:

nano app/controllers/mainpage_controller.rb

Мы добавим действие с именем hello. Добавьте следующее содержимое в этот файл:

class MainpageController < ApplicationController
  def hello
  end 
end

Сохраните и выйдите из файла.

Создание представления

Далее мы создадим соответствующее представление, также названное hello:

nano app/views/mainpage/hello.html.erb

Добавьте HTML-сообщение в этот файл:

<h1>Hello, world!</h1>

Сохраните и выйдите из файла.

Создание маршрута

Маршрут — это правило, которое будет указывать Rails, какой контроллер использовать для данного запроса. Отредактируйте файл routes.rb:

nano config/routes.rb

Добавьте строку root to: ‘mainpage#hello’ ниже первой строки, чтобы файл выглядел следующим образом:

Rails.application.routes.draw do
  root to: 'mainpage#hello'
  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end

Эта строка сообщает Rails, что корневой каталог / будет обслуживать действие нашего контроллера.

Протестируйте приложение

Снова запустите сервер Rails с помощью команды :

bin/rails s --binding=0.0.0.0

Затем протестируйте приложение, перейдя по адресу http://your-ip:3000. Вы увидите сообщение «Hello, World!».

Оцените статью
cdelat.ru
Добавить комментарий