Проблема: Мне не удается, чтобы мой API показал мне результаты, которые я хочу, которые соответствуют моей записи модели StoreProduct, хранящейся в базе данных.
Что я хочу: Для отображения заказов, которые имеютконкретные идентификаторы product_id в них.
У меня есть следующий ответ API json
[[#<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"=>19600013786737, ...
На последней записи вы увидите "product_id".У меня есть это в моей модели StoreProduct как store_product_id.Я хочу отображать product_id, только если он совпадает с тем, что есть в моей базе данных StoreProduct.
Например, если бы эта информация хранилась в моей собственной модели / БД, я бы сделал:
@store_products = StoreProduct.all
@store_orders = Orders.where(product_id: @store_products.each {|store_product| store_product.store_product_id})
Я попробовал это на мой взгляд:
<% @store_orders.each do |order| %>
<tr>
<% order.line_items.each do |line| %>
<% if line.product_id == @store_products.each {|store_product| store_product.store_product_id} %>
<td><%= line.product_id %></td>
<% end %>
<% end %>
</tr>
<% end %>
Контроллер:
@store_products = StoreProduct.all
@store_orders = ShopifyAPI::Order.all
И ничего не появляется. (Я делаюэто во внешнем интерфейсе, прежде чем я перенесу это на контроллер, чтобы я мог видеть, что происходит)
Если я удаляю оператор if, все product_id появляются из заказов.
Когда япробовал использовать .where
, выдает ошибку, что я не могу использовать "где" с Shopify API.
Вопрос: Как сделать так, чтобы только заказы и товарПоявляются идентификаторы, которые соответствуют любому из store_product.store_product_id, который есть у меня в БД StoreProduct?