ruby-on-rails - 如何仅显示与模型数据库中的记录匹配的 API json 响应中的属性?
问题描述
问题:我无法让我的 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 都会出现在订单中。
当我尝试使用 a.where
时,它给了我一个错误,我无法在 Shopify API 中使用“where”。
问题:我怎样才能使它只显示与我在 StoreProduct DB 中的任何 store_product.store_product_id 匹配的订单和产品 ID?
解决方案
推荐阅读
- java - 以最小延迟将视频设备流式传输到 Windows
- android - ListView 项目内的水平可滚动文本视图
- javascript - 即使给出了 value=" " 也明确清除表单字段
- python - on_reaction_add 未运行
- ios - iOS - 动态高度、数据驱动、垂直滚动布局
- c++ - Windeploqt 后带有数据库的 QT 项目无法正常工作
- excel - Excel 2010 公式中的错误
- kubernetes - 在没有自定义代理的情况下将 statefulset 中的每个 pod 公开到 Internet
- symfony - 生产错误:/app/app/config/routing.yml
- c - 使用带有指针的结构读取二进制文件中的某个位置