Статьи

Rails Intro, Deep Dive: RVM

Этот пост является первым в серии, чтобы помочь вам начать с нуля и закончить приложением Rails. Хотя есть много постов / серий на эту тему, я чувствую, что базовые учебные пособия по Rails, особенно после изменений в Rails 3.1, попадают в категорию «больше, чем лучше». Тем не менее, эта серия будет сосредоточена на правильной настройке (для тех систем, которые ее поддерживают) и будет летать немного ниже, чем типичный уровень в 50 000 футов во многих руководствах. Вот предметы, которые вы выучите к концу серии:

  • Настройка Ruby Version Manager (RVM) для поддержки изолированных сред разработки
  • Установка Ruby 1.9.2
  • Установка Rails 3.1
  • Создание приложения рельсов
  • Какие существуют Rails IDE и их плюсы / минусы
  • Создание ресурса для вашего приложения для создания / извлечения / обновления / удаления
  • Изменение шаблона представления
  • Что делать дальше

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

Мы собираемся сосредоточиться на Rails 3.1 (в настоящее время RC4) и расскажем о некоторых изменениях на 3.1. Кроме того, в духе ранее связанной статьи об Intridea я сделаю предположение, что вам удобно в командной строке, то есть «curl» — это не только канадский глагол. Не волнуйтесь, я знаю, что вы можете повесить с этой серией.

Давайте начнем с первого шага. Я не могу не подчеркнуть, насколько бесценен RVM для разработки на Ruby и Rails. Короче говоря, RVM позволяет вам создавать столько песочниц Ruby, сколько вам нужно для разработки, проектов или чего-то еще. Вы можете разделить версии Ruby, а также наборы гемов (называемые, как ни странно, «наборы гемов»), так что вы можете сделать это руководство, не обращая внимания на базовый Ruby или гемы. Затем вы можете просто удалить набор гемов и / или версию Ruby, если вы больше не хотите этого, или создать новое приложение Rails 3.0.8, чтобы вы могли жить в настоящем. Разработка Ruby начинается с RVM, поэтому изучение того, как ее использовать, — это лучшая практика, которую вы должны освоить сейчас. К сожалению для моих друзей Windows, у вас нет RVM. Существует Pik , но у него нет наборов гемов, что, вероятно, делает функцию RVM столь ценной.

Установка RVM

Во-первых, давайте разберемся с терминологией. РВМ называет разных переводчиков «рубинами». С каждым рубином связан один или несколько наборов драгоценных камней. У вас не может быть одного набора камней, обслуживающего два разных рубина, но вы можете импортировать / экспортировать или копировать наборы камней между рубинами. Здесь мы собираемся использовать RVM для установки последней версии 1.9.2 и создания набора гемов для наших приложений Rails.

Теперь, когда мы говорим на одном языке, давайте установим RVM. Увы, установка RVM немного сложна. Рассматривая предпосылки , большинство вещей, которые вам понадобятся, являются основными для Mac OSX и Linux. Если вы не установили git, то вам следует сделать это сейчас , так как git является источником контроля большинства разработчиков с открытым исходным кодом и разработчиков Rails. Кроме того, вам понадобится компилятор gcc чтобы позволить RVM компилировать различные интерпретаторы Ruby в вашей среде. Для пользователей Mac это означает установку XCode (вы можете установить Xcode 3 бесплатно или заплатить 5 долларов за Xcode 4 в Mac App Store. Любой из них подходит для RVM.). В Linux убедитесь, что у вас есть make и компилятор C, который вы можете установить с

 sudo apt-get install build-essential 

и завить

 sudo apt-get install curl 

Хорошо, это должно обработать предварительные требования.

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

Установка RVM — это просто запуск скрипта bash из командной строки. Итак, запустите свой терминал и наберите:

 bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) 

это запустит скрипт rvm install bash в вашем текущем сеансе, который будет установлен в вашем домашнем каталоге по адресу ~ / .rvm. Кроме того, выходные данные сценария будут содержать некоторые инструкции для ваших сценариев запуска .bashrc (или .profile или .bash_profile). RVM должен загружаться в среду оболочки при открытии терминала, поэтому добавьте это в конец сценария запуска:

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

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

 source ~/.bash_profile 

или закройте свой терминал и откройте новый. Сейчас типа

 type rvm | head -1 

и вы должны увидеть

 rvm is a function 

Теперь мы можем получить рубины. (Яр! Это заставляет меня чувствовать себя пиратом!)

Сначала давайте рассмотрим наш выбор:

 rvm list known 
RVM Известные переводчики

RVM Известные переводчики

Вау. Я понятия не имел, что их было так много. Давайте установим их все … BWAHAHAHAHAHA … нет, подождите, (разглаживает волосы назад) давайте просто установим один. Я голосую за 1.9.2, и мой голос — единственный, который имеет значение.

 rvm install 1.9.2 
Установка Ruby 1.9.2

Установка Ruby 1.9.2

Как вы можете видеть, это устанавливает последний уровень исправления MRI (Ruby Interpreter от Matz), который в данном случае равен 180. С помощью RVM вы можете настраивать уровни патчей или последнюю (головную) стабильную сборку. Либо кто-то здесь служит нашим целям, так что это так. Когда установка будет завершена, RVM установит наборы гемов «по умолчанию», которые вы можете определить в ~/.rvm/gemsets/default.gems . В настоящее время все, что у меня есть, это грабли, но вы можете добавлять других по мере необходимости.

Мы должны сообщить RVM, что хотим использовать только что загруженный интерпретатор Ruby 1.9.2. Это сделано с

 rvm use 1.9.2 

Потрясающие. Теперь, если вы напечатаете gem list , вы должны просто увидеть драгоценные камни по умолчанию. В моем случае я получаю

RVM Gem List

RVM Gem List

Это подтверждает, что грабли — единственный драгоценный камень в моем нынешнем рубине. Очевидно, что мы хотим установить Rails, но прежде чем мы это сделаем, давайте создадим набор гемов для этого урока под названием «rubysource».

 rvm gemset create rubysource 

RVM говорит нам, что наш гемсет создан, теперь мы должны это использовать. Можете ли вы угадать, как это сделано? Если бы вы сказали,

 rvm gemset use rubysource 

тогда ты победитель! Итак, как мы работаем, как мы узнаем, какая комбинация рубина и драгоценного камня является текущей? Если бы только у RVM был простой способ дать нам такую ​​информацию (подсказку, подсказку).

 rvm info 
RVM Info

RVM Info

Эта команда предоставляет нам все виды полезной информации, например, какой интерпретатор мы используем, текущий набор гемов, где находятся двоичные файлы для текущего Ruby и соответствующие переменные среды Ruby. Стоит отметить, что синтаксис для обозначения rubie и gemset — rubie@gemset , который также можно использовать в качестве ярлыка для переключения рубинов / gemsets. Например, если вы введете

 rvm use 1.9.2@rubysource 

он переключит текущий ruby ​​на 1.9.2, а текущий gemset на rubysource . Для домашней работы поймите, как использовать этот ярлык для автоматического создания набора гемов, если он еще не существует. (Поп-викторина в пятницу)

Итак, это RVM в (относительно) быстром сообщении. В следующем посте мы расскажем об установке Rails 3.1, а также о создании нашего приложения на Rails. В то же время, не стесняйтесь играть с RVM и не стесняйтесь использовать его для всех своих разработок на Ruby.