Архив метки: Ruby on Rails

Главная / Ruby on Rails
17 Постов

В этом посте мы затронем создание динамичного контента. Конкретно мы рассмотрим:

  • Как создать контроллер
  • Действия
  • Встроенный Ruby (ERB)

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

Контроллер содержит действия (методы Ruby) и координирует веб-запросы.

Rails может быстро сгенерировать контроллер с 0 или более действий с их ассоциированными представлениями.

Генерация происходит следующим образом:

rails generate controller controller_name [action1 action2]

Команда generate может быть сокращена до g.

Попробуем сгенерировать контроллер greeater, «hello» будет именем действия и именем представления.

Таким образом, мы получаем контроллер greeter.rb в папке app/controllers. Также получаем файл app/views/greeter/hello.html.erb.

Если вы заглянете в этот файл представления, вы увидите, что там нет типичных для HTML элементов Doctype, head или body. Мы увидим немного позже, почему.

Как это выглядит?

Встроенный Ruby (ERB)

Сгенерированный файл представления выглядит как типичный HTML-файл, но он также имеет расширение .erb.

ERB это библиотека шаблонизации (похожая на JSP, к примеру), которая позволяет вам встраивать Ruby в ваш HTML.

Стоит выучить два паттерна:

  • <% ...код ruby... %> — рассчитывает код
  • <%= ...код ruby... %> — возвращает рассчитанный код

И еще раз, идея ERB в том, чтобы иметь возможность включать динамичный контент в статичный HTML-контент, чтобы смешивать их вместе.

Так что, к примеру, мы можем переписать нашу приветственную страницу.

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

Теперь при обновлении страницы, она показывает случайное имя из списка.

Как выглядит контроллер

Итак, это была часть про представление. Как же выглядит сам контроллер?

hello это просто действие. Это обычный метод Ruby, в данном случае пустой.

И это работает.

А что если мы хотим добавить действие «goodbay» в этот контроллер, и также goodbay.html.erb в папку app/views/greeter?

Давайте попробуем.

Создаем файл для view в соответствующей папке, затем редактируем контроллер.

Заходим на страницу /greeter/goodbay:

Не сработало. Так как в этом случае не хватает компонента, который мы собираемся рассмотреть в следующем посте.

В итоге

Контроллеры содержат действия (методы).

ERB позволяет рассчитывать выражения с помощью паттерна <% expression %> или выводить их с помощью <%= expression %>.

В этом посте я расскажу о том как создать и запустить ваше первое приложение, о структуре каталогов и о добавлении статических страниц.

Чтобы создать свое первое приложение, перейдите в каталог, в котором хотите его создать. Введите rails new my_first_app, где «my_first_app» — имя приложения.

Это создаст определенную структуру, о которой я расскажу немного ниже.

Вы также можете выполнить rails new -h, в этом случае вы увидите какие параметры вы могли бы указать при создании нового Rails-приложения.

Bundler (менеджер gem’ов)

Ближе к концу создания приложения вы увидите «bundle install». Его идея заключается в том, что в приложении у вас имеется множество разных компонентов, которые объединяются вместе и имеют разные версии, и, очевидно, они должны взаимодействовать.

Один компонент может зависеть от одной версии, другой компонент от другой. И вам нужно разрешить эти зависимости, — это то что делает Bundler.

Контроль версий вашего приложения

Итак, сейчас ваше приложение создано. Rails сгенерировал изначальный скелет и даже немного кода.

Также интересно, что Rails автоматически создает файл .gitignore, что показывает, что он подталкивает вас к использованию Git.

Создаем репозиторий и делаем наш первый коммит:

cd my_first_app
git init
git add .
git commit -m "Initial commit"

Запускаем приложение

Кроме создания скелета приложения, Rails также имеет встроенный веб-сервер.

Так что, чтобы запустить приложение, вам не нужно ничего скачивать или ставить костыли.

Опционально открываем новое окно терминала, переходим в нужную директорию (cd my_first_app) и выполняем:

rails server

Либо rails s, что является той же командой в сокращенном виде.

Здесь говорится о версии Rails, о режиме в котором вы находитесь (development, т.е. разработки) и адресе по которому запущено приложение (http://localhost:3000).

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

Когда вы развернете ваше приложение, к примеру на Heroku, оно будет работать в режиме production.

Открываем в браузере localhost:3000, и Rails уже приветствует нас.

Rails дает советы о том что делать дальше, к примеру использовать генераторы или настроить базу данных. Справа приводятся полезные ссылки.

Конвенция структуры директорий

Итак, приложение будет иметь директорию app, на которую вы будете тратить большую часть времени. Она включает модели, контроллеры и представления (папки controllers, models и views), а также хелперы и прочее.

Следующая интересная директория это config, она включает различные конфигурации, к примеру какую БД вы собираетесь использовать и пароль от нее.

Папка db будет иметь скрипты миграций вашей базы данных, а также сам файл БД если вы используете SQLite (которая используется по умолчанию).

Папка public содержит статичные файлы. К примеру, HTML-файлы, которые вы редко будете изменять, пойдут в эту папку.

Gemfile и Gemfile.lock используются Bundler’ом для разрешения зависимостей. Здесь вы указываете нужные gem’ы.

public / hello_static.html

Мы упоминали, что статичные файлы идут в папку public.

Сервер проверяет папку public перед тем как проверить всё остальное. Если файл найден в этой директории, он просто отображается по ссылке.

Так что, если вы хотите добавить полностью статичную страницу, вы добавляете её в эту папку.

Попробуем добавить такой файл.

Переходим на localhost:3000/hello_static.html. Если ваш сервер уже запущен, нет нужды перезапускать его.

В большинстве случаев, конечно, вы захотите создавать динамические страницы, которые, к примеру, будут использовать данные из базы данных или из других мест.

То есть, Rails дает возможность добавлять статические страницы, но это не та технология и не тот фреймворк, если вы хотите иметь только лишь их.

В итоге

rails new создает новое приложение.

rails server / rails s запускает его (нужно выполнять в папке с самим приложением).

Статичные страницы находятся в папке public.

Мы рассмотрели Ruby, теперь можно переходить к Ruby on Rails. В этом и следующих постах мы будем обсуждать основные принципы, конвенции и MVC-структуру.

Итак, в этом посте я расскажу о следующих вещах:

  • Краткая история Rails
  • Польза от использования Rails
  • Model View Controller

История Ruby on Rails

Rails (RoR) — это фреймворк для разработки динамичных веб-приложений.

Он был создан в 2004-2005 годах Давидом Ханссоном (который, кроме того, является автогонщиком).

Кто использует Rails?

Так кто использует Rails? Много больших, а также средних сайтов, таких как Hulu, Groupon, LivingSocial, Twitter и Github.

Стартапы в целом любят Rails из-за его возможности быстро прототипировать и быстро разрабатывать приложения.

Почему Rails?

Один из принципов использования Rails называется Convention Over Configuration.

Вы бы могли подойти к разработке приложений по одному из двух путей. В одном из них вы настраиваете всё что вы делаете с чистого листа.

Или вы можете положиться на конвенции, которые уже были установлены. Многие лучшие практики уже существуют в конвенциях.

И если вы следуете определенным конвенциям, вам нужно писать меньше кода — иногда фреймворк генерирует его за вас.

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

Так что, вы будете знать чего ожидать в следующий раз.

Следующее преимущество Rails — это то что у вас есть уровень абстракции базы данных. Ruby on Rails позволяет вам взаимодействовать с базой данных не путем написания SQL-запросов, вы можете взаимодействовать с базой данных путем написания Ruby-кода.

Это иногда называется ORM, то есть объектно-реляционное сопоставление.

Вы сопоставляете свою базу данных с вашими классами Ruby.

Кроме того, Rails:

  • Благоприятен для гибкой разработки
  • Следует принципу «не повторяйся» (Don’t repeat yourself)
  • Кроссплатформенный
  • С открытым исходным кодом
  • Модульный

SQLite

Другой интересной особенностью Rails является то, что он использует SQLite как базу данных по умолчанию.

SQLite — это автономная, безсерверная, транзакционная база данных SQL нулевой конфигурации.

Что в основном означает, что это всего лишь файл, лежащий в вашей файловой системе, но он действует как реляционная база данных.

Преимущество этого заключается в том, что вам не нужно настраивать сложный механизм базы данных, чтобы начать разработку приложения.

Когда вы создаете Rails-приложение, возможность взаимодействия с базой данных находится прямо «в коробке».

Поскольку база данных здесь абстрактна, вы можете переключиться на другую СУБД позже, если захотите. Но в самом начале вам не нужно проходить эти детали настройки.

Кроме того, SQLite является наиболее широко распространенной SQL-базой в мире. Ее используют браузеры, iPhone, Android и многие большие приложения. Потому что, опять же, она ведет себя как реляционная база данных, но в реальности это всего лишь файл.

MVC: Module, View, Controller

Еще одна концепция, которую использует Rails, — это идея Model View Controller. На русский это переводится как «Модель-Вид-Контроллер» или «Модель-Представление-Контроллер».

MVC изобрел норвержский профессор Трюгве Реенскауг в 1979 году.

Это хорошо зарекомендовавший себя программный паттерн, используемый многими веб-фреймворками и десктопными фреймворками.

Model — представляет собой данные, с которыми работает приложение (и, возможно, бизнес-логику).

View — визуальное представление этих данных.

Controller — координирует взаимодействие между моделью и представлением.

Цикл MVC

  1. Отправлен запрос
  2. Контроллер ← → Модель
  3. Контроллер запускает Представление
  4. Представление отображает данные

MVC в Rails

В итоге

В итоге, Rails очень хорошо подходит для быстрого прототипирования.

Использование паттернов и конвенций позволяет меньше думать и больше делать, таким образом увеличивая продуктивность разработчика.

В данной статье мы рассмотрим установку программного обеспечения, необходимого для разработки RoR-приложений, для ОС Windows.

Мы установим:

  • Ruby
  • Rails
  • Git
  • PhantomJS
  • Sublime Text

Установка для Windows может показаться более простой, чем для Linux или даже Mac OS.

Итак, первые три, Ruby, Rails и Git могут быть установлены как один пакет, по ссылке railsinstaller.org (http://railsinstaller.org/en). А два других инструмента, которые нам нужны, можно установить, посетив сайты Phantomjs (http://phantomjs.org/) и Sublime Text (https://www.sublimetext.com/).

Скачав и запустив установочные файлы, просто следуйте обычному процессу установки. Затем установленное ПО можно проверить, например создав и запустив тестовое RoR-приложение.

rails new test_install
cd test_install
rails s

Запущенное приложение должно быть доступно по адресу http://localhost:3000/. Вы увидите главную страницу своего Rails-приложения, на которой будет описана основная информация о нём и инструкции о том что делать дальше.

В этом посте я расскажу об установке среды разработки Ruby on Rails для Mac OS.

Мы будем устанавливать следующие пакеты:

  • Ruby
  • Rails
  • PhantomJS
  • Sublime Text

Давайте начнем. Итак, в Mac OS, и первое, что нам нужно сделать, это установить инструменты командной строки Mac OS. Это потребуются другими пакетами командной строки, с которыми мы будем иметь дело.

Так что, один из способов сделать это — заставить операционную систему запустить инструменты командной строки.

И самый простой способ сделать это — просто выполнить git --version. Это вызовет приглашение для установки инструментов командной строки. Сейчас мы не хотим получать весь Xcode для Mac OS, но мы хотим получить только инструменты, поэтому мы нажмем Install.

Соглашаемся с условиями. Мы загрузим программное обеспечение, и мы его установим. И как только это будет сделано, мы сможем выполнить git --version, не получив всплывающего окна с жалобой, что инструменты разработчика не найдены.

Затем мы можем переходить к следующему шагу. Чтобы установить все пакеты, о которых мы упоминали, мы будем использовать довольно удобный менеджер пакетов под названием Homebrew.

Домашняя страница Homebrew: brew.sh.

Как только мы установим Homebrew, установка остальных пакетов будет очень простой.

Если вы являетесь пользователем с правами администратора, вы можете установить Homebrew без каких-либо проблем.

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

Прежде всего, как узнать, под каким вы пользователем? Если вы перейдете в Системные настройки и нажмите «Учетные записи», взгляните на пользователя, с которым вы входите в систему, под ним будет слово Admin или Standard.

И, очевидно, если он говорит «Стандартный», вы не являетесь пользователем admin, вы являетесь стандартным пользователем.

Если вы являетесь пользователем с правами администратора, подождите секунду, для начала рассмотрим установку Homebrew для стандартных пользователей.

Если вы находитесь на домашней странице установщика пакетов Homebrew, вы увидите здесь небольшую заметку, в которой говорится, что здесь есть больше вариантов установки. Нажмем эту ссылку. Вы увидите здесь опцию в Alternative Installs под названием Untar anywhere.

Нам действительно нужно пойти в наш домашний каталог в нашем терминале и выполнить данную команду.

mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

Это установит Homebrew. Если выполните ls, вы увидите, что пакет теперь установлен.

Далее:

cd homebrew/
ls
cd bin/
ls
pwd

Мы получим полный путь. Копируем его.

Затем:

cd ~
ls -al

Если нет файла .bash_profile, создаем его.

vim .bash_profile

В этом примере используется vim, но вы можете использовать любой редактор. Пишем:

export BREW_HOME=<ваш путь>

PATH=$BREW_HOME:$PATH

Должно получиться вроде этого:

export BREW_HOME=/Users/Kirill/homebrew/bin

PATH=$BREW_HOME:$PATH

Сохраняем файл.

Выполняем source .bash_profile.

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

brew -v

Установка Homebrew для стандартного пользователя завершена.

Далее рассмотрим установку для пользователей с правами администратора.

Просто копируем и вставляем команду с сайта:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Именно такая установка требует прав администратора, поэтому стандартные пользователи не могут этого делать.

Подтверждаем, вводим пароль. Homebrew установлен.

Теперь мы можем перейти непосредственно к установке нашего окружения.

Устанавливаем Ruby Environment Manager. Это должно быть супер-просто.

brew install rbenv ruby-build

Итак, как только это будет сделано, нам нужно вставить некоторые параметры в наш .bash_profile.

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source `/.bash_profile

Устанавливаем непосредственно Ruby с помощью rbenv:

rbenv install 2.2.3

Установка займет около 15-20 минут.

Итак, теперь, когда Ruby установлен с помощью rbenv, следующий шаг, который нам нужно сделать, — это сказать rbenv использовать эту конкретную версию в качестве глобальной версии для всего.

rbenv global 2.2.3

Проверяем:

ruby -v

Устанавливаем Rails. Rails устанавливается как обычный gem, так что просто выполняем:

gem install rails

Это установит последнюю версию. Если вы хотите установить конкретную версию, используйте эту команду:

gem install rails -v 4.2.3

Как только Rails установлен, нам нужно выполнить rbenv rehash. Эту команду следует выполнять при установке любого gem’a, который добавляет новые команды в терминал.

Можем проверить, что Rails установлен и имеет корректную версию:
rails -v

Неплохо было бы создать тестовое приложение:
rails new test_app

Запускаем Rails-сервер

cd test_app.
rails s

«rails s» это сокращенная команда «rails server».

Открыть приложение можно по адресу http://localhost:3000/.

Чтобы выключить сервер, нажимаем Ctrl+C.

Рассмотрим установку последней версии Git.

Если вы введете git --version, вы увидите, что Git уже установлен Apple по умолчанию. Вы можете оставить его как есть, либо можете обновить до последней версии. Это реально просто с Homebrew:

brew install git

Но нужно дать системе знать, что мы хотим использовать эту версию.

vim .bash_profile

Внизу добавляем:

export GIT_HOME='usr/local/Cellar/git/2.5.1/bin'

PATH=$GIT_HOME:$PATH

Ваш путь может отличаться.

Сохраняем.

Выполняем source .bash_profile. Так мы можем быть уверены, что это будет работать в данной сессии.

Можем проверить: git --version.

Устанавливаем PhantomJS.

brew install phantomjs

Можем проверить: phantomjs -v.

Ну и последняя вещь: установка Sublime Text 3.

Ищем в гугле «Sublime Text 3», переходим на официальный сайт, скачиваем файл для Mac OS и запускаем.

Установка Ruby on Rails.

В этом посте мы рассмотрим установку необходимого ПО:

  • Ruby (интерпретатор языка)
  • Rails (платформа для веб-приложений и зависимости)
  • PhantomJS (поддержка безгласного веб-тестирования)
  • Sublime Text (опциональный редактор текста)

Мы будем устанавливать оригинал Matz’а, интерпретатор Ruby MRI Interpreter, основанный на C. Это означает, что мы собираемся много компилировать на нашей платформе Linux.

Когда мы устанавливаем Ruby, мы принимаем решение сделать правильный фундамент. И, к счастью, если мы просто будем придерживаться одной версии и не будем часто прыгать между разными интерпретаторами, нам, вероятно, не придется касаться к этому слою в будущем. Однако нам нужно установить его для работы.

Менеджер установки определяет, какие gem’ы работают с версиями Ruby. Установку различных версий в разные моменты времени. Сейчас есть несколько менеджеров, которые вы можете установить, и есть два, скажем, ведущих. Есть и другие.

Есть rvm, который является более старым, более устоявшимся, но это супертяжелый менеджер. Он делает некоторые вещи в оболочке, о которых некоторые на самом деле не думают. Поэтому в среде разработки это может быть не идеальным выбором.

Rbenv является более легким по весу решением, и во многом он работает по более традиционному пути UNIX.

Ладно, перейдем на сайт Rails, нажмем на загрузку.

Они рекомендуют rbenv. Хорошо, выбор немного проще. И они ссылаются на GitHub Стивенсона, у которого есть реализация. Там нет всех инструкций, но есть неплохая часть.

Так что погуглив, я нашел хорошую статью от Митчелла Аттика, о том, как установить Ruby on Rails с rbenv на Ubuntu. Отлично.

Одна из первых вещей, которые мы собираемся сделать, заключается в том, что мы собираемся обновить существующие пакеты, которые находятся в системе. Это то, что мы должны сделать, прежде чем добавлять к ней новые пакеты.

Как вы знаете, Ubuntu использует apt-get в качестве менеджера пакетов, а Fedora использует yum.

Когда мы запускаем этот диспетчер пакетов, мы используем команду sudo, которой нужен пароль, и этот пароль будет действовать в течение определенного периода времени.

Ubuntu:

sudo apt-get update -y

Fedora:

sudo yum update -y

Затем мы установим Git. Мы собираемся использовать Git изначально, чтобы клонировать репозитории rbenv и Ruby build.
И, конечно, он понадобится нам также в будущем.

Ubuntu:

sudo apt-get install -y git gitk git-gui

Fedora:

sudo yum install -y git gitk git-gui

На обоих системах это займет около пары минут до завершения.

Затем мы установим компилятор и некоторые из библиотек, которые он будет использовать для создания Ruby и различных gem’ов, которые есть там.

Ubuntu:

sudo apt-get install -y gcc build-essential libpq-dev libssl-dev libreadline-dev libsqlite3-dev zliblg-dev

Fedora:

sudo yum install -y gcc gcc-c++ libpqxx-devel openssl-devel readline-devel sqlite-devel zlib-devel

Данная установка занимает около нескольких минут.

Затем у нас есть две очень похожие операции на обеих платформах. Мы собираемся клонировать/устанавливать репозиторий rbenv.
Мы собираемся поместить его в папку прямо под home.

Ubuntu:

cd
git clone git://github.com/sstephenson/rbenv.git .rbenv

Fedora:

cd
git clone git://github.com/sstephenson/rbenv.git .rbenv

Клон был помещен в папку под home, и мы будем использовать переменные, чтобы указать на это местоположение.

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

Предположим, что есть некоторый текст, recipepuppy.com, работающий на порте 80.

И мы не хотим жестко кодировать его в нашем приложении, мы хотим сделать ссылку на переменную. Мы можем экспортировать его в нашу оболочку и присвоить ей значение.

И мы можем сделать это немного более постоянным, если поместим его в наш bashrc.

echo 'export RECIPEPUPPY_HOSTPORT=www.recipepuppy.com:80' >> ~/.bashrc

Если мы посмотрим
tail ~/.bashrc

Мы увидим, что это находится в конце.

Итак, исполняем source ~/.bashrc, чтобы объявить эту переменную среды.

Тогда мы можем использовать ее, к примеру, чтобы запустить в Chrome:

chrome http://$RECIPEPUPPY_HOSTPORT 2> /dev/null

Продолжим установку.

tree ~/.rbenv -L 1
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Добавляем также еще одну часть информации, это rb init. Он добавляет скрипты завершения команды.
Он также попадает в ваш путь, так что вы можете завершить частичные команды, которые вы запустили для Ruby.

После того, как он на месте, нужно просто сделать source, чтобы получить то, что мы только что вложили, в нашу оболочку.

echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc

Следующее, что мы вносим, это ruby-build, это дает нам возможность фактически установить ruby внутри rbenv.

clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

Он будет установлен под home, ниже rbenv, в папке плагинов.

И, как и прежде, эта папка также должна быть добавлена в ваш путь.

echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

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

Вы заметите много компиляций, которые будут продолжаться. Можно ожидать, что это займет около 20-30 минут установки.

Итак, убедитесь, что вы ввели эту команду:

rbenv install -v 2.2.2

Затем можете пойти за чашкой кофе и бутербродом, пока идет установка.

Если будут какие-либо ошибки или остановки, скорее всего вам не хватает какого-то пакета. Если вы загуглите ошибку, вам будет легко найти чего вам не хватает.

Следующее, что мы сделаем, это установим версию Ruby по умолчанию, которая будет использоваться с этого момента. У нас уже есть Ruby, так что можем его использовать.

rbenv global 2.2.2

Проверяем:
ruby -v

Один из вариантов, который я предлагаю установить, заключается в том, чтобы сказать, чтобы gem’ы не генерировали локальную документацию. Это просто съедает дисковое пространство и время, когда они загружаются.

echo "gem: --no-document" > ~/.gemrc

Затем устанавливаем менеджер gem’ов Rails. Это будет большим плюсом, когда мы начнем устанавливать gem’ы в наши приложения.

gem install bundler

Теперь еще один интересный шаг. Теперь мы собираемся установить Rails.
Установка может занять несколько минут или около того.

gem install rails -v 4.2.3

После установки Rails, мы делаем rehash rbenv. Это советуют делать после установки любого gem’а, добавляющего команды.

rbenv rehash

Ruby и Rails готовы к использованию.

Затем мы собираемся установить одну из библиотек JavaScript, и здесь нам нужно дать Ubuntu некоторые уникальные инструкции.

Поэтому мы собираемся установить пару пакетов, которые вам нужны, чтобы все было подготовлено. Также устанавливаем местоположение для них.

Ubuntu:

sudo apt-get install -y software-properties-common python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js

Fedora:

curl -sL https://rpm.nodesource.com/setup | sudo bash -

И теперь финальные команды.

Ubuntu:

sudo apt-get install -y nodejs

Fedora:

sudo yum install -y nodejs

NodeJS установлен.

Затем мы собираемся установить PhantomJS. PhantomJS — это библиотека, которая позволяет нам проводить безгласное тестирование веб-приложений. Это значительно упростит модульное тестирование (юнит-тестирование), очень полезная вещь.

Мы начнем с того, что убедимся, что у нас есть bzip, потому что это будет частью наших шагов по установке.

Ubuntu:

sudo apt-get install -y bzip2

Fedora:

sudo yum install -y bzip2

Затем мы установим переменную среды, поэтому нам не нужно повторять себя, когда мы будем ссылаться на имя библиотеки.

export PHANTOM_JS="phantomjs-1.9.8-linux-x86_64"

Далее:

cd /tmp
curl -L https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2 | tar xvjf
sudo mv $PHANTOM_JS /usr/local/share
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin

Проверяем версию:
phantomjs -v

Как уже говорилось, разработчики обычно используют тот редактор кода который нравится, некоторые даже используют gedit как это делаю я. Но рассмотрим установку Sublime Text для логичного завершения этой статьи.

curl http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2%20x64.tar.bz2 | tar -xjf -
sudo mv 'Sublime Text 2' /opt/SublimeText2
echo export PATH='$PATH:/opt/SublimeText2' >> ~/.bashrc
source ~/.bashrc

Запускаем:
sublime_text

Вся установка должна быть готова.

Добро пожаловать в Ruby on Rails.

Что мы рассмотрим для начала: установка необходимого ПО, редакторы кода, Git.

Установка ПО

Конечно же, мы не можем разрабатывать RoR-приложение, если у нас не установлены сами Ruby и Ruby on Rails.

Этот процесс будет отличаться для разных ОС: Windows, Linux, Mac OS.

Редакторы кода

Каждый разработчик предпочитает использовать редактор кода по своему выбору, тот который ему нравится. Для примера, мы рассмотрим Sublime Text.

Git

Git — это распределённая система управления версиями. Этот набор слов означает, что Git позволяет делать снимки вашего кода.

Представьте себя пишущим код, и всё работает. Поэтому вы делаете снимок этого конкретного кода в это конкретное время.

Когда вы продолжаете писать код, возможно вы вносите ошибку в свою программу. И вы хотите вернуться к последней точке, в которой всё работало. И вы можете это сделать, потому что это именно то что позволяет вам сделать система контроля версий.

Раньше считалось, что Git используют только разработчики. Но все изменилось, и теперь даже веб-дизайнеры или люди, которые не работают в IT, например издатели или редакторы, тоже используют Git.

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

На самом деле, Rails поощряет нас использовать Git, потому что, как мы увидим, когда вы создаете Rails-приложение, оно автоматически генерирует файл .gitignore.
Так что мы видим то, как Rails подталкивает нас в направлении использования системы контроля версий, в частности Git.

Еще одна причина использовать Git — часто он необходим для развертывания приложения, к примеру при развертывании на Heroku.

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