Лениво загружать столбцы в ActiveRecord - PullRequest
2 голосов
/ 29 августа 2011

Так что я проводил некоторые исследования и пока не нашел хорошего решения для этого.Я пытаюсь избежать загрузки редко используемых столбцов в модели ActiveRecord.

Вот моя реальная проблема: у меня есть таблица учетных записей:

create_table "accounts", :force => true do |t|
  t.string   "name"
  t.text "policies" # this can be a lot of data
end

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

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

Я знаю, что DataMapper имеет решениедля этого называется «ленивая нагрузка» для атрибутов.Есть ли стандартное или общепринятое решение для этого в ActiveRecord?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 20 июня 2012

Библиотека activerecord-lazy-attribute может предоставить вам необходимые функции.

Выдержка из ЧТЕНИЯ:

Это расширение ActiveRecord позволяет определять атрибуты для отложенной загрузки. Его главная цель - избегать загрузки больших столбцов (например, больших двоичных объектов) с каждым SELECT.

...