Дифференциация между модулем gem и моделью AR

Я использую драгоценный камень Etsy, который как модуль Listing. У меня также есть соответствующая модель Listing в моем приложении.

Я пытаюсь настроить работника sidekiq для работы с камнем, вызвать некоторые методы и обновить соответствующую строку Listing, но потому что у меня есть include Etsy, чтобы я мог использовать драгоценный камень, rails запутался и думает, что я имею в виду модуль вместо модели.

Вот код:

class ListingWorker
  include Sidekiq::Worker
  include Etsy

  def perform(seller, shop)
    access_token = {access_token: seller.oauth_token,
              access_secret: seller.request_secret}
    myself = Etsy.myself(access_token[:access_token], access_token[:access_secret])
    limit = 100
    offset = 0
    total_results = myself.shop.active_listings_count
until offset > total_results
  listings = Etsy::Request.get("/shops/#{shop.shop_id}/listings/active",
                               access_token.merge(limit: limit.to_s,
                                            offset: offset.to_s,
                                            include_private: 'true',
                                            includes: 'Images:1:0'))
                          .to_hash
  offset += limit

  listings['results'].each do |l|
    listing = Listing.find_by(listing_id: l['listing_id'])

end end

Вот ошибка, которую я получаю:

undefined method `find_by' for Etsy::Listing:Class

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

Спасибо заранее!

0
задан 13 August 2018 в 14:32

0 ответов

Другие вопросы по тегам:

Похожие вопросы: