Rails: как кешировать поле отношения has_many в массиве - PullRequest
0 голосов
/ 19 мая 2011

Вот что я делаю прямо сейчас:

m = Merchant.find(1)
ebay_item_id_array = []
active_items = m.active_items
active_items.each { |item| 
  # Fill the array containing what items are already in the DB based on ebay item id
  ebay_item_id_array.push(item.external_product_id)
}

Цель здесь в том, чтобы при проверке API eBay для последних продуктов я мог проверить, есть ли у меня этот идентификатор элемента ebay вмоя база данныхТаким образом, это будет пропущено.Проблема в том, что, когда БД становится большой, эта операция выше не очень эффективна.Как я могу кешировать поле external_product_field в массив, который я могу вывести без зацикливания всех моих активных записей?

1 Ответ

0 голосов
/ 19 мая 2011

Вам следует рассмотреть возможность опроса API eBay для продуктов, добавленных после последнего обновления вашей базы данных, которые были бы менее затратными в вычислительном отношении.Вы можете сделать это, используя itemFilters

Для получения дополнительной информации см. Документацию: http://developer.ebay.com/DevZone/finding/CallRef/findItemsByKeywords.html#Request.aspectFilter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...