Мое приложение импортирует товары из магазина Shopify.Он должен обслуживать продукты, которые ранее были импортированы в базу данных моих приложений, а также отображать любые новые продукты, которые были добавлены в магазин Shopify с момента последнего импорта.
На мой взгляд:
# All new products in Shopify
<% @products.each do |product| %>
<tr>
<td><%= product.id %></td>
<td><%= product.title %></td>
</tr>
<% end %>
# All existing products in my app
<% @myproducts.each do |myproduct| %>
<tr>
<td><%= myproduct.id %></td>
<td><%= myproduct.title %></td>
</tr>
<% end %>
Часть, отвечающая за захват контроллера ProductsController
:
@products = ShopifyAPI::Product.find(:all)
@myproducts = Product.where.not(id: nil)
Проблема в том, что первый цикл отображается каждый все товаров из магазина Shopify, включая те товары, которые уже находятся в цикле @myproduct.each do
.Таким образом, у нас много удвоений.
Мне нужен цикл @products.each
, чтобы отображать только те продукты, для которых product.id
еще не существует как myproduct.id
.
Должен ли я использовать оператор if в моемпросмотр или некоторые условия в @products = ShopifyAPI::Product.find(:all)
?