Ruby On Rails in UA Icon_home Главная Add to bookmarks Translate translate Profile Войти
Регистрация Форум Блоги Пользователи Ресурсы Список джемов      Поиск   

Затегированы темы

Построение запросов с помощью conditions_fu

Date2008-08-20 UserRoman V. Babenko Commentкоментарии 2

Уже давно хотел избавиться от упоминания в запросах sql конструкций.

Но построение через хеши условий для поиска в нынейней версии RoR(2.1) к сожалению не возможно.

Такие запросы типа: Строка по маске, больше чем, меньше чем, больше, находиться в диапазоне, не находиться в диапазоне - построить с помощью хешей невозможно.

Объединение условий по OR опять же сводилось к написанию SQL.

Плагин conditions_fu расширяет возможности ActiveRecord::Base#find методами позволяющими решить вышеуказнные проблемы.

Установка

$ script/plugin install git://github.com/xgamerx/conditions_fu.git

Использование
Person.all(:conditions => { :age.gt => 30, :name.like => "%упкин" })

найдет всех кто заканчивается на "упкин" старше 30 лет

Person.any(:conditions => { :age.gt => 30, :name.like => Person.all(:conditions => { :age.gt => 30, :name.like => "%name%" })
 })
найдет всех старше 30 лет или чье имя заканчивается на "упкин"
Подробней и перечень операторов можно посомтреть тут conditions_fu-postroitel-zaprosov">rubyhammer.com/articles/2008-08-20-182530-conditions_fu-postroitel-zaprosov
Rss
Ключевые слова:
Гости: 203 Онлайн: Евгений Хлобыстин, Roman V. Babenko,
Rambler's Top100
О проекте по всем вопросам обращайтесь на support
Rubyclub.com.ua Copyright © 2007 - 2008