Начало работы с Ruby on Rails

Download ruby-on-rails eBook

замечания

логотип

Ruby on Rails (RoR) или Rails - это популярная платформа веб-приложений с открытым исходным кодом. Rails использует Ruby, HTML, CSS и JavaScript для создания веб-приложения, работающего на веб-сервере. Rails использует шаблон model-view-controller (MVC) и обеспечивает полный набор библиотек из базы данных вплоть до представления.

Версии

Версия Дата выхода
5.1.2 2017-06-26
5.0 2016-06-30
4,2 2014-12-19
4,1 2014-04-08
4,0 2013-06-25
3,2 2012-01-20
3,1 2011-08-31
3.0 2010-08-29
2,3 2009-03-16
2,0 2007-12-07
1.2 2007-01-19
1,1 2006-03-28
1,0 2005-12-13

Создайте новое приложение Rails с нестандартным адаптером базы данных

Rails поставляется по умолчанию с помощью ActiveRecord , ORM (реляционное сопоставление объектов), полученного из шаблона с тем же именем .

Как ORM, он создан для обработки реляционного сопоставления, а точнее, для обработки запросов SQL для вас, отсюда ограничение только для баз данных SQL.

Однако вы все равно можете создать приложение Rails с другой системой управления базами данных:

  1. просто создайте приложение без активной записи
$ rails app new MyApp --skip-active-record
 
  1. добавить собственную систему управления базами данных в Gemfile
$ rails app new MyApp --skip-active-record
 
  1. bundle install и выполнить шаги установки из нужной базы данных.

В этом примере mongoid - это сопоставление объектов для MongoDB и - как и многие другие камни базы данных, построенные для рельсов - он также наследует от ActiveModel же, как и ActiveRecord , который обеспечивает общий интерфейс для многих функций, таких как проверки, обратные вызовы, переводы и т. Д. ,

Другие адаптеры баз данных включают, но не ограничиваются:

  • DataMapper

  • сиквел рельсы

Создайте новое приложение Rails с выбором базы данных и включая инструмент проверки RSpec

Rails использует sqlite3 как базу данных по умолчанию, но вы можете создать новое приложение rails с базой данных по вашему выбору. Просто добавьте параметр -d а затем имя базы данных.

$ rails new MyApp -T -d postgresql
 

Это (неисчерпывающий) список доступных параметров базы данных:

  • MySQL
  • оракул
  • PostgreSQL
  • sqlite3
  • FrontBase
  • IBM_DB
  • SQLServer
  • jdbcmysql
  • jdbcsqlite3
  • jdbcpostgresql
  • JDBC

Команда -T указывает, чтобы пропустить установку minitest. Чтобы установить альтернативный набор тестов, например RSpec , отредактируйте Gemfile и добавьте

$ rails new MyApp -T -d postgresql
 

Затем запустите с консоли следующую команду:

$ rails new MyApp -T -d postgresql
 

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

В этом примере предполагается, что Ruby и Ruby on Rails уже установлены правильно. Если нет, вы можете найти, как это сделать здесь .

Откройте командную строку или терминал. Чтобы создать новое приложение rails, используйте новую команду rails, а затем имя вашего приложения:

$ rails new my_app
 

Если вы хотите создать приложение Rails с определенной версией Rails, вы можете указать его во время создания приложения. Для этого используйте rails _version_ new а затем имя приложения:

$ rails new my_app
 

Это создаст приложение Rails под названием MyApp в каталоге my_app и установит зависимости gem, которые уже упоминаются в Gemfile используя bundle install .

Чтобы переключиться на каталог вновь созданного приложения, используйте команду cd , которая обозначает change directory .

$ rails new my_app
 

В my_app есть несколько автоматически сгенерированных файлов и папок, которые составляют структуру приложения Rails. Ниже приведен список файлов и папок, созданных по умолчанию:

Папка Цель
приложение/ Содержит контроллеры, модели, представления, помощники, почтовые программы и активы для вашего приложения.
бен / Содержит скрипт rails, который запускает ваше приложение и может содержать другие скрипты, которые вы используете для настройки, обновления, развертывания или запуска приложения.
конфиг / Настройте маршруты, базу данных и многое другое.
config.ru Конфигурация стойки для серверов на стойке, используемых для запуска приложения.
дБ / Содержит вашу текущую схему базы данных, а также миграцию базы данных.
Gemfile Gemfile.lock Эти файлы позволяют указать, какие зависимости от gem необходимы для вашего приложения Rails. Эти файлы используются жемчужиной Bundler.
Библиотека / Расширенные модули для вашего приложения.
журнал/ Файлы журналов приложений.
общественности / Единственная папка, которую видит мир как есть. Содержит статические файлы и скомпилированные активы.
Rakefile Этот файл находит и загружает задачи, которые могут выполняться из командной строки. Определения задач определяются во всех компонентах Rails.
README.md Это краткое руководство для вашего приложения. Вы должны отредактировать этот файл, чтобы сообщить другим, что делает ваше приложение, как его настроить и т. Д.
тестовое задание/ Единичные испытания, приборы и другие испытательные устройства.
темп / Временные файлы (например, файлы кеша и pid).
продавец / Место для всех сторонних кодов. В типичном приложении Rails это включает в себя драгоценные камни.

Теперь вам нужно создать базу данных из файла database.yml :

5.0
$ rails new my_app
 
5.0
$ rails new my_app
 

Теперь, когда мы создали базу данных, нам нужно запустить миграцию для настройки таблиц:

5.0
$ rails new my_app
 
5.0
$ rails new my_app
 

Чтобы запустить приложение, нам нужно запустить сервер:

$ rails new my_app
 

По умолчанию рельсы запустит приложение на порту 3000. Чтобы запустить приложение с другим номером порта, нам нужно запустить сервер, например,

$ rails new my_app
 

Если вы перейдете в http: // localhost: 3000 в своем браузере, вы увидите страницу приветствия Rails, показывающую, что ваше приложение запущено.

Если он вызывает ошибку, может быть несколько возможных проблем:

  • Существует проблема с config/database.yml
  • У вас есть зависимости в вашем Gemfile , которые не были установлены.
  • У вас есть ожидающие миграции. Run rails db:migrate
  • Если вы перейдете к предыдущим маршрутам переноса rails db:rollback

Если это все еще вызывает ошибку, вы должны проверить свой config/database.yml

Создание Rails-интерфейсов в JSON

В этом примере предполагается, что у вас есть опыт создания приложений Rails.

Чтобы создать приложение только для API в Rails 5, запустите

rails new name-of-app --api
 

Добавить active_model_serializers в Gemfile

rails new name-of-app --api
 

установить комплект в терминале

rails new name-of-app --api
 

Установите ActiveModelSerializer адаптер для использования :json_api

rails new name-of-app --api
 

Создайте новый эшафот для вашего ресурса

rails new name-of-app --api
 

Это приведет к созданию следующих файлов:

Контроллер: приложение / контроллеры / tasks_controller.rb

rails new name-of-app --api
 

Создание ресурса с помощью лесов

От guide.rubyonrails.org:

Вместо создания модели напрямую. , , давайте создадим эшафот. Эстафот в Rails - это полный набор моделей, миграция базы данных для этой модели, контроллер для управления им, представления для просмотра и управления данными и набор тестов для каждого из вышеперечисленных.

Ниже приведен пример создания леса под названием Task с именем строки и текстовым описанием:

rails generate scaffold Task name:string description:text
 

Это приведет к созданию следующих файлов:

rails generate scaffold Task name:string description:text
 

пример для удаления файлов, созданных эшафотом для ресурса под названием Task

rails generate scaffold Task name:string description:text
 

Генерирование контроллера

Чтобы создать контроллер (например, « Posts ), перейдите в каталог проекта из командной строки или терминала и запустите:

$ rails generate controller Posts
 

Вы можете сократить этот код, заменив generate на g , например:

$ rails generate controller Posts
 

Если вы откроете вновь созданное приложение / контроллеры / posts_controller.rb, вы увидите контроллер без каких-либо действий:

$ rails generate controller Posts
 

Можно создать методы по умолчанию для контроллера, передав аргументы имени контроллера.

$ rails generate controller Posts
 

Чтобы создать контроллер внутри модуля, укажите имя контроллера как путь, например parent_module/controller_name . Например:

$ rails generate controller Posts
 

Это приведет к созданию следующих файлов:

$ rails generate controller Posts
 

Контроллер - это просто класс, который определяется как наследуемый от ApplicationController .

Внутри этого класса вы определяете методы, которые станут действиями для этого контроллера.

Установка Rails

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

На чистом ubuntu установка Rails должна быть прямой

Обновление пакетов Ubuntu

sudo apt-get update
sudo apt-get upgrade
 

Установка зависимостей Ruby и Rails

sudo apt-get update
sudo apt-get upgrade
 

Установка рубинового менеджера версий. В этом случае простой использует rbenv

sudo apt-get update
sudo apt-get upgrade
 

Установка Ruby Build

sudo apt-get update
sudo apt-get upgrade
 

Перезапустить оболочку

sudo apt-get update
sudo apt-get upgrade
 

Установить рубин

sudo apt-get update
sudo apt-get upgrade
 

Установка рельсов

sudo apt-get update
sudo apt-get upgrade
 

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

Шаг 1: Установка Ruby

Нам нужен язык программирования Ruby. Мы можем использовать предварительно скомпилированную версию Ruby с именем RubyInstaller.

  • Загрузите и запустите Ruby Installer с rubyinstaller.org .
  • Запустите программу установки. Проверьте «Добавить исполняемые файлы Ruby на свой PATH», затем установите.
  • Чтобы получить доступ к Ruby, перейдите в меню Windows, выберите «Все программы», прокрутите вниз до Ruby и нажмите «Start Command Prompt with Ruby». Откроется терминал командной строки. Если вы ruby -v и нажмите Enter, вы увидите номер версии Ruby, который вы установили.

Шаг 2: Комплект разработки Ruby

После установки Ruby мы можем попытаться установить Rails. Но некоторые из библиотек Rails зависят от необходимости некоторых инструментов сборки для компиляции, а Windows не имеет этих инструментов по умолчанию. Вы можете определить это, если вы видите ошибку при попытке установить Rails Gem::InstallError: The '[gem name]' native gem requires installed build tools. Чтобы исправить это, нам нужно установить Ruby Development Kit.

  • Загрузить DevKit
  • Запустите программу установки.
  • Нам нужно указать папку, в которой мы собираемся навсегда установить DevKit. Я рекомендую установить его в корень вашего жесткого диска в C:\RubyDevKit . (Не используйте пробелы в имени каталога.)

Теперь нам нужно сделать инструменты DevKit доступными для Ruby.

  • В командной строке перейдите в каталог DevKit. cd C:\RubyDevKit или любой другой каталог, в который вы его установили.
  • Нам нужно запустить скрипт Ruby для инициализации установки DevKit. Тип ruby dk.rb init . Теперь мы расскажем об этом же скрипте, чтобы добавить DevKit в нашу установку Ruby. Тип ruby dk.rb install .

Теперь DevKit будет доступен для ваших инструментов Ruby, которые будут использоваться при установке новых библиотек.

Шаг 3: Рельсы

Теперь мы можем установить Rails. Rails - это драгоценный камень Ruby. В командной строке введите:

gem install rails

Как только вы нажмете Enter, программа gem будет загружать и устанавливать эту версию Rails-жемчужины вместе со всеми остальными драгоценными камнями.

Шаг 4: Node.js

Некоторые библиотеки, от которых зависит Rails, требуют установки времени выполнения JavaScript. Давайте установим Node.js, чтобы эти библиотеки работали правильно.

  • ВЫГРУЖАТЬ Node.js установки из здесь .
  • Когда загрузка завершена, зайдите в папку для загрузки и запустите установщик node-v4.4.7.pkg .
  • Прочтите полное лицензионное соглашение, примите условия и нажмите «Далее» через остальных мастеров, оставив все по умолчанию.
  • Появится окно с вопросом, хотите ли вы разрешить приложению вносить изменения в свой компьютер. Нажмите «Да».
  • Когда установка будет завершена, вам необходимо перезагрузить компьютер, чтобы Rails мог получить доступ к Node.js.

После перезагрузки компьютера не забудьте перейти в меню Windows, нажмите «Все программы», прокрутите вниз до Ruby и нажмите «Начать командную строку с Ruby».

Stats

1637 Contributors: 38
Monday, July 31, 2017
Лицензировано согласно: CC-BY-SA

Не связан с Stack Overflow
Rip Tutorial: info@zzzprojects.com

Скачать книгу