Устанавливаем альтернативные респондеры Rails 3 responders для чистоты кода приложения
Итак стоит задача постистить код контролера от FLASH текста и вынести все красиво в файлы локализации.
Для этого добавляем в наш Gemfile
gem 'responders'
дальше ставим джем
bundle install
после чего добавляем в приложение респондеры
gem install responders
После чего рефакторим код контролеров
if @message.save
ping(@message) if APP_CONFIG['ping_enabled']
- respond_with(@message, :notice => 'Message was successfully created.')
- else
- respond_with(@message)
end
+ respond_with(@message, :flash => true)
В итоге получаем одну строку вместо трех в контролере и возможность удобного редактировани флеш сообщений в файле локализации.
Для тех кому стало интересно можно почитать коменты к респондеру.
Долой TYPO привет ABOUTME
И так возможно посточнные посетители заметили, что мой блог умер после попытки обновить очередную версию TYPO.
Конечно все видели по сто раз ролики про то как сделат ь блог за 5 минут и так далее, но то то делаетс яза 5 минут, не обобо подойдет для радового блогера.
И так как бы небыло времени и желания, но всетаки я собрался с духом и решил начать писать движок для блога на RAILS 3 скажу вам честно пока мне этот процесс нравится.
И так за три дня было реализовано следующее в ядре движка
* JQuery 1.4.1 (recomended for rails 3) * JQuery UI (customized) * Blueprint (CSS Framework) * HAML * devise (simple authentification for rails app) * CKeditor * ActsAsTaggableOn Для тех кто уже созрел поюзать альфу предлагаю сделать клон на джит хабе. В преспективе приписать XMLRPC для постинга через клиентские программы. Все фичи которые вы зотели бы видеть в этом движке предлагаю описывать на вики
Или можно сдесь высказаться по быстрому, если лень ставить, но есть что сказать.



Как быстро поставить все джемы на новой машине?
5.0 из 1 гол.ШАГ 1
Создаем файл .gemrc в домашней папке пользователя с под которого будем ставить джемы, и добавляем туда следующие записи.
---
:benchmark: false
:update_sources: true
:bulk_threshold: 1000
:backtrace: false
:verbose: true
:sources:
- http://gems.rubyforge.org/
- http://gems.github.com
gem: --no-ri --no-rdoc
ШАГ 2
Создаем исполняемый файл на машине где есть все необходимые джемы следующей командой.
gem list --no-versions | tr "\n" " " > gems-install.sh
эта команда сохранит полный список джемов в файлик, дальше отредактируем его и добавим в самое начало команду для запуска инсталяции джемов.
gem install - добавляем в самое начало фафла.
ШАГ 3
Копируем созданный использяемый файл на новую машину, предварительно установив там руби и джемс в минимальной сборке.
и запускаем (если не запускается chmod +x ./gems-install.sh)
gems-install.sh
после чего надо пойти выпить чаю, пока скачаются все джемы и установятся, но не файкт что стануть сразу все, так как нет гарантии что у вас есть все devel пакеты в системе.
По этому после устанвоки прочитали логи и посомтрели чего не установилось,и добавили необзодимые зависимости, но общая масса пакетов должна стать одним махом.
Passenger 3 - будет еще быстрей и умней
Только что прочитал пару статей на официальном блоге разработчиков пасенжера и руби ентерпрайз едишин, могу сказать что очень впечатлило.
Из фишек - при перезагрузке отсутствует время простоя сервера, улучшена скорость обработки запросов, автоматический поиск приложений и многое другое.
Могу порекомендовать прочитать блог и посмотреть видео.
JQuery + rails 3 rc2
То что раньше делалось через инициализаторыи удаление констант, теперь красиво определяется в инифализаторе приложения
СТАРЫЙ ВАРИАНТ
/config/initializers/jquery.rb
if ActionView::Helpers::AssetTagHelper.const_defined?(:JAVASCRIPT_DEFAULT_SOURCES)
ActionView::Helpers::AssetTagHelper.send(:remove_const, "JAVASCRIPT_DEFAULT_SOURCES")
end
ActionView::Helpers::AssetTagHelper::JAVASCRIPT_DEFAULT_SOURCES = ['jquery-1.4.2.min.js', 'rails.js']
ActionView::Helpers::AssetTagHelper::reset_javascript_include_default
НОВЫЙ
/config/application.rb
config.action_view.javascript_expansions[:defaults] = %w(jquery-1.4.1.min rails jquery-ui-1.8.4.custom.min)



Atom