Находите результаты API, которые соответствуют только конкретному ответу от контроллера? - PullRequest
0 голосов
/ 09 мая 2019

Я хочу получить заказы, в которых line_items.id равен определенному идентификатору продукта (который является позицией), который я сохранил в БД.

Ответ от API, который я хочу использовать для сопоставления:

[[#<ShopifyAPI::LineItem:0x000055ef6161f110 @attributes={"id"=>1959792476209, "variant_id"=>15345627234353, "title"=>"Burton Custom Freestlye 151 37", "quantity"=>1, "sku"=>"", "variant_title"=>nil, "vendor"=>"Burton", "fulfillment_service"=>"manual", "product_id"=>19650913786737, ...

В основном, где "product_id"=>19650913786737,, это то, что я хочу сопоставить. Я храню это в моей БД.

Я пробовал несколько способов, но вот несколько:

@store_products = StoreProduct.all #Where the product_id is stored under store_product_id
@store_orders = ShopifyAPI::Order.all #fetches orders from Shopify API

@match_store_orders = @store_orders.where(line_items.product_id == (@store_products.each {|store_product| store_product.store_product_id})

Это говорит о том, что product_id не существует, вы имели в виду product? ... У меня также есть модель Product, поэтому она спрашивает об этом, но она тоже не работает ...

Пробовал также:

@match_store_orders = @store_orders.where("line_items --> 'product_id' == '@store_products.each {|store_product| store_product.store_product_id}' ")

Это дает мне: expected a clauses Hash

Я пробовал больше способов, которые тоже не сработали бы.

Любые предложения о том, что делать, чтобы я мог отображать только Заказы, где product_id соответствует любому из моих сохраненных StoreProduct.store_product_ids?

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