Undr

На память

Записи с меткой ‘activerecord’

Два способа ‘eager loading’ в ActiveRecord

without comments

1 Star2 Stars3 Stars4 Stars5 Stars (1 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Начиная с Rails версии 2.1 в ActiveRecord существует два способа нетерпеливой загрузки (’eager loading’). Первый использует один запрос в котором связывает таблицы оператором JOIN. Второй использует по одному запросу на каждую модель. В Rails версии до 2.1 использовался только первый способ, в версиях начиная с 2.1 используются оба, но второй используется по умолчанию.

Первый способ, обладает некоторыми проблеммами. Он считается медленным, из-за необходимости обрабатывать большое количество избыточных данных (пример 1), особенно при большой вложенности ассоциаций для загрузки, и используется только если в запросе необходимо использовать поля ассоциаций (например в параметре :conditions)

Читать далее »

Написал undr ()

26 декабря 2009 в 19:00

Размещено в Программирование

Метки: , , , ,

Проверка данных моделей ActiveRecord и функции обратного вызова. Первая часть.

with one comment

1 Star2 Stars3 Stars4 Stars5 Stars (6 голосов, средний: 4.00 из 5)
Loading ... Loading ...

Перевод Active Record Validations and Callbacks

Это руководство описывает цикл жизни объектов Active Record. Вы узнаете, как проверить состояние объектов прежде, чем они попадут в базу данных, и как выполнить собственный код в определенных моментах цикла жизни объекта.

Прочтя это руководство, Вы сможете:

  • цикл жизни объектов Active Record
  • Использовать встроенные помощники для проверки состояния данных модели
  • Создавать свои собственные помощники для проверки состояния данных модели
  • Работать с сообщениями об ошибках, которые генерируются в результате этих проверок
  • Создавать функции обратного вызова, вызываемые на разные события происходящие в течении жизни объекта
  • Создавать специальные классы, которые будут энкапсулировать общее поведение для функций обратного вызова
  • Создавать классы-наблюдатели, которые будут отвечать за вызов соответствующих методов в ответ на события происходящие в течении жизни объекта

    Читать далее »

Написал undr ()

11 ноября 2009 в 17:42

Интерфейс запросов ActiveRecord

with 3 comments

1 Star2 Stars3 Stars4 Stars5 Stars (2 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Перевод: Active Record Query Interface

Это руководство описывает различные способы получать данные от базы данных, используя ActiveRecord. Прочтя это руководство, Вы сможете:

  • Искать записи в базе данных с помощью множества методов и всевозможных условий
  • Определять сортировку, требуемые атрибуты, группировку и другие свойства для поиска записей
  • Использовать отложенную загрузку, чтобы сократить количество запросов к базе данных, необходимых для поиска
  • Использовать динамические методы поиска
  • Создавать именованные области видимости (named_scope), для добавления новых средств поиска Ваших моделей
  • Проверять существование определенных записей
  • Выполнять различные расчеты в моделях ActiveRecord

    Читать далее »

Написал undr ()

22 сентября 2009 в 23:29

Размещено в Документация

Метки: , , , ,

Краткое руководство по named_scope

without comments

1 Star2 Stars3 Stars4 Stars5 Stars (1 голосов, средний: 5.00 из 5)
Loading ... Loading ...

class User < ActiveRecord::Base
  named_scope :active, :conditions => {:active => true}
  named_scope :inactive, :conditions => {:active => false}
  named_scope :recent, lambda { { :conditions => ['created_at > ?', 1.week.ago]
  } }
end

Читать далее »

Написал undr ()

18 сентября 2009 в 14:37