Как стать автором
Обновить
2.2

Ruby on Rails *

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

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

Rails custom Scaffolding

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

Наверное каждый в начале работы с ROR был впечатлен возможностью Scaffolding'а, который позволяет одной командой создавать migrations, controllers, models и views.

Но что делать если в своем проекте вы используете не стандартные Rails утилиты: erb, Test::Unit, fixturies, а сторонние инструменты: Haml, Rspec, Cucumber, Factory Girl и более того, хотите добавить собственные шаблоны?

Интересно? GOTO next line.

Исходные данные:
Ruby on Rails; Rspec; will-paginate; Haml; Factory-girl

Задача:
% rails generate scaffold post post:string
Генерирует:
  1. contoller's с поддержкой will_paginate, русскоязычными сообщениями
  2. model's с поддержкой will_paginate
  3. view's с заданным нами содержимым и в формате haml
  4. Rspec тесты, вместо Test::Unit
  5. Factory Girl factories вместо стандартных fixtures

Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии26

Резервное копирование Rails проектов без затей

Время на прочтение3 мин
Количество просмотров4.4K
Как известно, люди делятся на тех кто еще не делает резервных копий, тех кто уже делает, и тех кто уже делает и проверяет возможность восстановления

К счастью, 20 минут назад, когда кривой админ рецепт Capistrano напрочь снес на «боевом» сервере каталог с загруженными картинками из статей юзеров, я уже относился к категории делающих бэкапы. Вот, заодно и проверил.

А делаем мы резервные копии через gem backup

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии16

Архитектура контроллеров: простые советы на каждый день

Время на прочтение6 мин
Количество просмотров3.8K
То, что контроллеры должны быть «худыми» знают все, но по мере наращивания функционала поддерживать чистоту контроллеров становится все сложнее и сложнее. Мы хотим предложить несколько рекомендаций как содержать свои контроллеры максимально чистыми без ущерба для качества кода.
Читать дальше →
Всего голосов 51: ↑47 и ↓4+43
Комментарии44

Автодополнение команд Rails

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

Работая с rails 3, я подумал, что было бы здорово иметь возможность дополнять команды rails в bash с помощью tab'a.
Погуглив, я нашёл плагин, который позволяет легко это сделать:
https://github.com/jweslley/rails_completion

Для установки нужно:


1. Скопировать содержимое файла rails.bash в ~/.rails.bash
2. Добавить в ~/.bashrc строчку:

source ~/.rails.bash


И можно наслаждаться)

PS.
Для работы необходим пакет bash_completion версии > 1.2
sudo apt-get install bash_completion
Всего голосов 41: ↑34 и ↓7+27
Комментарии10

Истории

Railswizard — сервис быстрого создания rails-приложений

Время на прочтение1 мин
Количество просмотров1.1K
Собственно, railswizard.

Можно не только за минуту сделать себе базовое приложение, но и посмотеть, что же внутри рельсовых шаблонов. Код полностью доступен на гитхабе.

Удобно и поучительно.
Всего голосов 31: ↑28 и ↓3+25
Комментарии21

Как правильно считать чужие деньги

Время на прочтение3 мин
Количество просмотров2.3K
Для рельс уже написан миллион и один туториал про то, что делать, если вдруг приходится писать приложение, которое работает с деньгами.

Обычно все сводится к советам не использовать Float, использовать Decimal, транзакции там всякие и прочее. И в большей части случаев этих советов вполне достаточно для того, чтобы разработчик чувствовал себя сухо и комфортно.

А сталкивались ли вы с ситуацией, когда, скажем, приложение должно обслуживать жителей более чем одной страны?

Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии17

Связка rvm + Rails + Nginx + Unicorn или деплоим рельсы правильно

Время на прочтение9 мин
Количество просмотров54K
Целью данной заметки я ставлю в подробностях описать организацию сервера для Rails приложений в самой популярной на данный момент связке: rvm + Rails + Nginx + Unicorn. К написанию статьи побудило отсутствие полной пошаговой документации по этой связке, понятной не только ядреным профессионалам этой области. Далее я попытаюсь подробно, шаг за шагом, описать идеологически правильный процесс организации сервера для обслуживания нескольких Rails приложений (на примере одного) — если у вас есть абсолютная уверенность в том, что на подопытной машине никогда не будет работать более одного приложения — настройка может быть существенно короче и проще. Хочу предупредить, что тонкости, касающиеся работы приложения под высокой нагрузкой в статье не описываются, т.к. цель ставилась иная — заставить работать приложение в связке и сократить количество конфликтов с другими приложениями до минимума.
Читать дальше →
Всего голосов 68: ↑63 и ↓5+58
Комментарии135

9 июня — встреча разработчиков на RoR с участием Ренделла Томаса

Время на прочтение1 мин
Количество просмотров521
9 июня в Минске состоится действительно долгожданная встреча белорусского RoR сообщества. Причем на ней будут не только наши соотечественники, но и Ренделл Томас из Engine Yard — всемирно известной своим cloud-хостингом для Rails-приложений и активной поддержкой популярных open source-проектов Merb и Rubinius компанией.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии12

Rails 3.1: Release Candidate

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


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

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

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

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

Читать дальше →
Всего голосов 47: ↑43 и ↓4+39
Комментарии26

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

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

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

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

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

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

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

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

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

Surtout — Ruby on Rails CMS

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



Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии28

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

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


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

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

Подробности...
Всего голосов 39: ↑33 и ↓6+27
Комментарии24

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

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

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

image

Читать дальше →
Всего голосов 56: ↑47 и ↓9+38
Комментарии19

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

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

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

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

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

Читать дальше →
Всего голосов 56: ↑48 и ↓8+40
Комментарии34

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

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

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

Презентую loop_dance — gem для быстрого развертывания управляемого демона в рельсовом окружении.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии21

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

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


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