Ruby on Rails: встаем на рельсы

Жизнь не позволяет стоять на месте. Единственный способ оставаться живым – двигаться, каждый день и час познавая что-то новое. Сегодня наше новое – это Ruby on Rails.

Давно уже я слышал об этом фреймворке, да все никак руки не доходили пощупать ни его, ни сам Ruby. Да и не люблю я беспредметно лазить по докам и коду, обязательно надо, чтобы была какая-то цель. Ну или стимул… А тут цель появилась, и я решил записать в дневник процесс вставания на рельсы, ибо оказался он продолжительным и не столь гладким 🙂

Итак, идем на нужный сайт, качаем все необходимое и начинаем ставить.

Лично у меня сразу возникла проблема. Такая уж у меня карма: если что-то может сломаться или заработать неправильно, у меня оно сломается и заработает неправильно 🙂 Наверное, я – прирожденный тестировщик. Проблема заключалась в ошибке при установке Rails командой gem install rails –include-dependencies:

Need to update 26 gems from http://gems.rubyforge.org
……………………..
complete
ERROR:  While executing gem … (Zlib::BufError)
buffer error

(Оффтопик: хотел обрамить это сообщение в тег , полагая, что получится красивая рамочка, да не вышло: отрезается этот тег, как раньше отрезался

. При этом есть кнопочка для этого тега. Видимо, опять надо искать плагин для WordPress, восстанавливающий задуманную функциональность.)

По счастью, поиск по ошибке сразу дал нужный результат: надо обновить RubyGems командой gem update –system. Лекарство сработало (порадовав напоследок многозначительным “RubyGems system software updated Синтаксическая ошибка в имени файла, имени папки или метке тома.”), но некоторое удивление все же осталось: вроде ведь только что скачал все свеженькое…

Ну что ж, все необходимое стоит, теперь попробуем что-нибудь сотворить. Я следую инструкциям по рекомендованной “Agile Web Development with Rails“, однако хочется все же работать в любимой среде Eclipse. Поэтому я ставлю “Лучшую IDE на базе Eclipse” – RadRails от Aptana, упомянутую все на том же сайте. Глядя одним глазом в книгу, а другим в RadRails, я быстро понял, что передо мной не совсем то, что надо. Как выяснилось из этой статьи, для полного счастья надо установить еще и Ruby Development Tools (RDT). Добавляем новый update site (руководствуясь статьей и ссылками в ней) и инсталлим. После перезапуска Eclipse мы имеем практически полный комплект инструментов для Rails.

Надо сказать, этот RadRails – монстроидная штука. Чего там только не наворочено, Eclipse аж грузиться стал раз в 5 медленнее… Особенно понравился Visual jQuery – встроенный хелп по этой либе, разбитый на категории и содержащий примеры. Пустячок, а все ж приятно. Имеется также HTML-редактор с подсветкой синтаксиса для HTML, CSS и JS. С другой стороны, не сумел я там найти способов создания классов Rails, т.е. кнопку, исполняющую команду ruby script/generate controller . Веб-сервер, который запускается для каждого проекта отдельный, тоже из Eclipse стартовать не вышло. Придется пока работать частично в командной строке. Поэтому возникает резонный вопрос: а надо ли вообще этот RadRails использовать? Ведь даже такая простая и вполне логичная штука, как подсветка синтаксиса для Ruby, в нем отсутствует. Лично для себя я решил, что обойдусь без него (оффтопик: для HTML и рядом взял себе плагин EclipseHTMLEditor).

Да, так вот. Следующая кочка на пути встречается уже при запуске первого Hello, world! – no such file to load — sqlite3. Как-то упустил я, что дефолтная БД у Rails – SQlite, тогда как я работаю с MySQL. Так что надо либо создавать проекты с ключом (rails -d mysql ), либо  потом уже вручную менять в конфиге тип БД (config/database.yml в директории проекта). При этом надо не забыть поставить драйвер для MySQL (gem install mysql). Вообще, радует меня этот менеджер пакетов. Простая и понятная команда, выполняющая все, что требуется, без необходимости вдуплять в непростые алгоритмы (вроде вот этого, аналога последней команды).

Теперь все установлено и настроено, Hello, world! заработал. Следующие шаги показывают, что имеется недостаток знаний по, собственно, языку Ruby. Порывшись в инете, нашел блог, в котором описывается, с чего начать изучение языка. Выбираю наиболее понравившуюся ссылку на ресурс об основных идиомах. Общая идея схватывается, но информации в этой презентации все же маловато. Пробую рекомендованную PickAxe, но, естественно, для меня неприемлемо заказывать и ждать пару недель эту книгу, потому нахожу ее онлайн здесь, на ruby-doc.org.

На этом пока все. Буду читать книгу и постигать новую платформу постепенно, в свободное от проектов время. Если будет еще что сказать на эту тему – я скажу :)

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>