20 сент. 2010 г.

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

Как установить Ruby on Rails на Windows ?
Очень просто.

Всего три этапа:



Вам остается только прописать в своем ~/.profile путь куда вы поставили Ruby
где-то так
PATH=$PATH:/opt/ruby-enterprise-1.8.7/bin


Не удивляйтесь если все будет работать под любым пользователем, только не под root, если вы прописали путь в /etc/profile. sudo игнорит этот файл и берет пути из /root/.profile

Вот теперь можно отвлечся от файтинга с гемами и заняться программингом.

З.Ы. Советы расчитаны на новичков. Я знаю о Bitnami Ruby Stak, InstantRails и то, что у некоторых никогда не возникало проблем с работой на "этой системе", но не показывайте мне трассу стека которая начинается с "C:\path\to\ruby.exe" и тому подобное.

10 сент. 2010 г.

REE+Debian Lenny+SQLite3

При установке Ruby Entrerprise Edition на Debian Lenny инсталлер пытается установить SQLite3 начиная с версии sqlite3-ruby 1.3.0 так как требует версии 3.6.6+

Выход установить из бекпортов свежую версию SQLite3

/etc/apt/sources.list
deb http://www.backports.org/debian lenny-backports main


apt-get install -t lenny-backports libsqlite3-dev 


UPD: @ptico подсказывает, что-есть официальный репозитарий бекпортов


deb http://backports.debian.org/debian-backports\
lenny-backports main

9 сент. 2010 г.

Миграция на Bundler и Rails 2.3.9



i18n


Изменился систаксис интерполяции
Замена в VIM
:%/s/{{/%{/gc
:%/s/}}/}/gc

или так



Зависимости


Bundler'у нужен json_pure >=1.4.6. Надо удалить все пакеты которые могут зависеть от младших версий. Например: gemcuter 0.5.0

Сессии


Перед запуском на продакшене желательно сделать rake db:sessions:clear, иначе получим ошибку защиты от подделок ActionController::InvalidAuthenticityToken.

Bundler на Rails 2.x


Надо сделать указанные на сайте изменения для того, что-бы бандлер мог работать с Rails 2.x

Ошибки Passenger


Иногда после обновление гемов пассажир не поднимает приложения, причину можно понять только навесившись на логи вебсервера:
log -f /var/log/apache2/errors.log


Сессии


Сессии на ActiveRecord и Memcache сломались.
ActionController::InvalidAuthenticityToken лечиться установкой патча
wget http://gist.github.com/570149.txt \
-O config/initializers/sessions_patch.rb

8 сент. 2010 г.

Мастеркласс по Rails3 на RubyConfUA 2010


В ходе мастеркласса мы напишем коллективный блог на Ruby on Rails 3 используя самые популярные в Ruby & Rails мире инструменты и гемы.
Наш блог будет содержать следующим функционал:
- контроль доступа пользователей(devise);
- разделения доступа к действиям по ролям(declarative_authorization);
- создание новых постов(RedCloth + state_machine);
- загрузка фото и видеофайлов на сервер(Carrierwave);
- поиск и фильтрация(acts-as-taggable-on,searchlogic,thinking-sphinx);
- локализированный интерфейс(i18n)
Основной упор будет сделан на минимизацию количества кода используя haml, simple_form, inherited_resources, polymorphic associations и основной принцип Ruby - DRY(Don't repeat yourself).

Так, что кто хочет научиться писать прилоложения на самом новом и продвинутом фреймворке прошу записываться :-)

7 сент. 2010 г.

Переход на Rails3

Rails3 уже готов и вышел финальный релиз.
Пора пересмотреть код своих апликаций для предстоящих миграций.

Можно несколько упростить такой процес пользуясь тремя правилами:

- устранять warnings, а особенно те которые касаются deprecations;
- прогонять код через rails_best_practices;
- мониторить код спецаиальным гемом rails_upgrade, который на 80% укажет проблемные места для перехода на новые рельсы.

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