Все потоки
Поиск
Написать публикацию
Обновить
-1

Ruby on Rails *

Фреймворк, написанный на Ruby

Сначала показывать
Порог рейтинга
Уровень сложности

Rails 3.1: Release Candidate

Время на прочтение4 мин
Количество просмотров694
Сегодня вышел первый релиз-кандидат RoR 3.1, к чему в оффициальном блоге написали обзорную статью о ключевых нововведениях в предстоящей версии. Чтобы познакомить вас с нововведениями, перевожу с пояснительными комментариями для тех, кто ничего об этом не слышал. Далее в тексте курсивом мои примечания.


Как я (DHH — прим. переводчика) и обещал на RailsConf, мы наконец готовы выпустить Rails 3.1: Release Candidate. Это фантастически захватывающий релиз. В нём появилось две новых киллер-фичи и намного больше просто потрясающих улучшений. Для начала киллер-фичи:
Читать дальше →

Разговариваем с Rails-приложением через XMPP (Jabber)

Время на прочтение5 мин
Количество просмотров6.5K

Статья расскажет о том, как получать сообщения от вашего Rails-приложения по протоколу XMPP (Jabber) и наоборот, управлять приложением, отправляя ему команды через XMPP.

Читать дальше →

Полиморфные ассоциации и Devise в Ruby on Rails

Время на прочтение7 мин
Количество просмотров4.7K
Всем привет.
Когда-то давно я писал статью про полиморфные ассоциации в Ruby on Rails и, помнится, некоторые негодовали: зачем, мол, писать про Rails 2, если на подходе новая версия.

Недавно мне пришлось столкнуться с полиморфными ассоциациями в Rails 3, а точнее придумать, как организовать на сайте два типа пользователей: заказчик и исполнитель. В этой статье речь пойдет о полиморфных ассоциациях и гемах Devise (для аутентификации) и CanCan (для авторизации).
Читать дальше →

Перенос данных из одной базы в любую другую

Время на прочтение2 мин
Количество просмотров14K
В нашем Ruby On Rails 3 приложении возникла необходимость перейти с Sqlite на MySQL. Нужен было простой и действенный способ, без громоздких Perl скриптов и платных утилит, которыми пестрит интернет и в частности StackOverflow.
Читать дальше →

CoffeeScript стал языком по умолчанию в Rails 3.1

Время на прочтение1 мин
Количество просмотров2.9K
Разработка Ruby on Rails 3.1 идёт полным ходом. Как выяснилось, с этой версии он будет поставляться в комплекте с CoffeeScript, который вместо JavaScript становится языком по умолчанию.

CoffeeScript — это высокоуровневый язык программирования, который компилируется в Javascript: см. обзор на Хабре, где наглядно демонстрируются его преимущества, и список приложений (github), сделанных на CoffeeScript.
Читать дальше →

Surtout — Ruby on Rails CMS

Время на прочтение1 мин
Количество просмотров12K
Surtout — это бесплатная CMS с открытым исходным кодом, работающая на Ruby On Rails 3. На данный момент проект находится в стадии разработки, но уже сейчас на сайте проекта можно посмотреть демонстрационное видео:



Читать дальше →

Конференция Railsclub'Moscow 30 апреля 2011

Время на прочтение1 мин
Количество просмотров554


30 апреля 2011 в Москве пройдет конференция Railsclub'Moscow.

RailsClub — это сообщество разработчиков на языке Ruby и фреймворке Ruby on Rails. Наша цель — популяризация языка программирования Ruby и фреймворка Ruby on Rails, как идеальной среды для разработки интернет-проектов.

Подробности...

Всплывающие flash-сообщение из глубин фоновых задач

Время на прочтение1 мин
Количество просмотров2.4K
Каждый раз, когда необходимо выводить flash-сообщение сталкиваешься с одними и теми же проблемами: непонятно где эти сообщения выводить, толи заранее на странице определить место, которое жалко, толи сделать растягиваемый дизайн, что не всегда удобно. А еще этих сообщений может быть много, а еще каждый норовит сохранять их под своим ключем (warning, notice..). Когда понадобилось посылать пользователю сообщения из delayed_job стало понятно что нужно решить эту проблем раз и навсегда.

gem gritter_notice — выводит flash и удобно обрабатывает сохраняемые в базе всплывающие сообщения в 5 строчек кода.

image

Читать дальше →

Размышления о реализации социального графа

Время на прочтение8 мин
Количество просмотров1.6K
Здравствуйте!

Мы все привыкли пользоваться социальными сетями. Одной из их основ является установление социально значимых связей между пользователями. Как правило, эти связи — дружба или поклонники (последователи).

Не знаю что на меня нашло, но вернувшись из школы (я работаю учителем) решил попробовать создать на любимых рельсах что-то, что нам мой взгляд могло бы помочь мне реализовать функционал социального графа на школьном сайте. И двумя типами связей я решил не ограничиваться.

Попробуем пофантазировать на тему социального графа и написать немного Rails кода.

Читать дальше →

loop_dance — фоновый планировщик быстрого развертывания

Время на прочтение2 мин
Количество просмотров1.5K
В последнее время в проектах часто приходится создавать демона, который периодически фоном что-то проверяет или отсылает.

Обычно подобную задачу решают с помощью таких пакетов как whevenever, daemon_controller, daemon_generator и т.д. и все казалось бы просто и понятно, но надоело каждый раз городить огород и писать одно и тоже. Мне нужно всего-лишь чтобы раз в час выполнялось какое-нибудь User.notify_all

Презентую loop_dance — gem для быстрого развертывания управляемого демона в рельсовом окружении.
Читать дальше →

Обзор книги «Beginning Rails 3»

Время на прочтение6 мин
Количество просмотров1.8K


С самого своего выхода третья версия этого замечательного фреймворка начала активно вытеснять вторую. Это, конечно, прекрасно, но изменений между версиями довольно много, некоторые имеют статус deprecated. А это значит, что одних только знаний второй версии для полноценного использования Rails будет недостаточно.
Именно так я рассуждал, когда начал искать литературу по третьим рельсам. Почему именно литературу, а не документацию? Потому что только осенью я обратил внимание на этот фреймворк, а учиться лучше всё же по книгам (я так считаю). И какова же была моя радость, когда я наткнулся на сайт книги Beginning Rails 3, которая вышла в свет только в сентябре.
Читать дальше →

Phusion Passenger 3.0.0

Время на прочтение1 мин
Количество просмотров15K
Phusion Passenger — сервер приложений для Ruby.

Основные новшества по сравнению с версией 2.2.:

Apache: на 36% быстрее
Nginx: на 55% быстрее

image

Читать дальше →

Знакомство с Ruby on Rails 3.0

Время на прочтение5 мин
Количество просмотров17K


Добрый день, друзья. Не так давно мы с друзьями-коллегами решили поизучать Ruby on Rails – что это такое и с чем едят – для использования в будущем при разработке своих проектов.

Так как знаний по данной теме не было вообще, то и двигаться решили постепенно. При начальной установке Ruby с Rails 3.0 мы столкнулись с некоторыми трудностями, о которых в мануалах так сходу никто не упоминал. Поэтому я решил написать это небольшое руководство (которое является обобщением собственного опыта и перевода мануала на guides.rubyonrails.org/getting_started.html) по изначальной установке и настройке Ruby on Rails 3.0 для того, чтобы помочь таким же начинающим как я найти полезную информацию в одном месте и сэкономить свое время.
Читать дальше →

Ближайшие события

13 конференция RailsClub.ru

Время на прочтение1 мин
Количество просмотров587
Спешу сообщить о том, что очередная Московская конференция railsclub.ru — 30 октября 2010 года в Здании фабрики «Красный Октябрь» (м. Кропоткинская).

Подробнее со списком докладчиков и темами можно познакомиться на сайте Railsclub.ru
Участие бесплатное! Требуется обязательная регистрация на сайте конференции. Начало конференции в 13:00.

Информация о конференции, регистрация, докладчики http://www.railsclub.ru/
Список зарегистрированных участников http://www.railsclub.ru/conferences/registered_users/20

Как сделать javascript_include_tag рекурсивным?

Время на прочтение1 мин
Количество просмотров1.2K
Не знаю как вам, а мне давно не доставало возможности подключать свои js-файлы пачками.

Напомню, что в Rails есть стандартный хелпер javascript_include_tag(:all, :recursive => true), который включает все файлы из public/javascripts. Но мне захотелось управлять этим процессом. И вот что у меня получилось:

<%= javascript_include_tag collect_js("jquery-1.4.2", "jquery.*", "lib/*, "application") %>


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

<%= javascript_include_tag collect_js("jquery-1.4.2", "jquery.*", "application", :without_recursion => true) %>


Исходный код хелпера под катом
Читать дальше →

Ruby on Rails 3 — Заметки к финальному релизу

Время на прочтение19 мин
Количество просмотров5.6K

Оглавление

  1. Переход на Rails 3.0
    • Rails 3 требует Ruby 1.8.7+
    • Объект Application в Rails
    • script/* заменен на script/rails
    • Зависимости и config.gem
    • Процесс перехода
  2. Создание приложения на Rails 3.0
    • Включение гемов
    • Жизнь на грани
  3. Архитектурные изменения
    • Перезарядка Railties
    • Все компоненты ядра Rails теперь независимы
    • Абстракция Active Model
    • Абстракция контроллеров
    • Интеграция Arel
    • Извлечение Mail
  4. Документация
  5. Интернационализация
  6. Railties
  7. Action Pack
    • Абстрактный контроллер
    • Action Controller
    • Action Dispatch
    • Action View
  8. Active Model
    • Абстракция ORM и интерфейс c Action Pack
    • Валидации
  9. Active Record
    • Интерфейс запросов
    • Усовершенствования
    • Патчи и устаревшие методы
  10. Active Resourсe
  11. Active Support
  12. Action Mailers
  13. О создателях
Читать дальше →

Как быть с HTML-письмами?

Время на прочтение2 мин
Количество просмотров6.1K
Недавно столкнулся с задачей по верстке HTML-писем. Как известно, многие почтовые клиенты, в том числе и Gmail игнорируют css-классы и содержимое тега style, не говоря уже о подключении внешних CSS-файлов. Поэтому обычной практикой при верстке HTML-писем является использование inline-стилей. Если делать это самостоятельно, то шаблон письма очень быстро превращается в кашу, поддерживать и расширять которую очень сложно. В связи с чем rails-разработчики используют различные плагины, которые позволяют «встроить» css-класс в аттрибут style.
Читать дальше →

Как можно легко и просто реализовать опции в Ruby on Rails

Время на прочтение3 мин
Количество просмотров1.5K

Пролог


image
Наверное всем веб (а может и не только веб) разработчикам рано или поздно приходилось сталкиваться с такой задачей как опции пользователей. Что я имею ввиду проще всего показать на картинке. Под опциями будем понимать чекбоксы (то есть опция либо есть либо нет). Обычно таких опций не слишком много, порядка 2-10. Обычно их указывают при регистрации и/или редактировании профиля.

Постановка задачи


Походу разработки какого-либо проекта как правило число этих настроек (да и сами настройки) могут варироваться, так что было бы неплохо реализовать механизм этих опций так, чтобы добавлять/изменять/удалять их было максимально просто, изменив при этом как можно меньше кода. Я расскажу как можно решить и как решил эту задачу я в рамках фреймворка Ruby on Rails.
мне интересно

Обзор новинок в Ruby on Rails

Время на прочтение5 мин
Количество просмотров1.9K
Для начала мы обратим внимание на Rails 2.3.8 — многие из вас слышали о нем, но не все знают, что конкретного там поменялось. К слову, основные нововведения произошли в версии 2.3.6, а .7 и .8 версии лишь исправляли ошибки.

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

1. Переработан флеш, рекомендуется использовать два базовых типа — alert и notice. А еще его можно использовать с редиректом.
Вот как было:
flash[:notice] = 'Статья добавлена'
redirect_to @article
И как можно писать теперь:
redirect_to(@article, :notice => 'Статья добавлена')
Стоит учесть, что если у вас есть свой тип флеша, например, flash[:error], то добавить его к редиректу не получится.
Читать дальше →

Три релиза Ruby on Rails за три дня

Время на прочтение1 мин
Количество просмотров654
ruby on railsСпустя 6 месяцев после последнего релиза обновился Ruby on Rails до версии 2.3.6. Изменения в основном связаны с исправлениями багов, добавлением нескольких новых функций и подготовкой плацдарма для перехода на Rails 3.0. С полным списком изменений можно ознакомится по ссылке Ruby on Rails 2.3.6

На следующий день вышел Ruby on Rails 2.3.7, который исправил баги с безопасностью HTML, скопированные из Rails 3.0, но добавил баг связанный с rails_xss плагином. Этот баг делал уязвимыми приложения, которые этот плагин не использовали.

Ну и последним на данный момент является Ruby on Rails 2.3.8, в котором все работает как надо.

Вклад авторов