- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在订单选项卡下的 Spree 后端创建一个搜索栏,您可以在其中输入产品 sku 并查找包含该产品的所有订单。
我使用 deface 插入了“按 sku 搜索”字段。代码如下所示:
Deface::Override.new(:virtual_path => 'spree/admin/orders/index',
:name => 'search_by_sku',
:insert_bottom => "div.omega",
:text => "
<div class='field'>
<%= label_tag nil, Spree.t(:sku) %>
<%=f.text_field :line_items_cont %>
</div>
")
line_items_cont 给我一个错误。
line_items_cont 是 ransack 用来搜索 line_items 的,它应该在结果中返回,但它没有。以下是返回的结果。
#<Spree::Order id: 225400, number: "R454575501",
item_total: #<BigDecimal:7f83f7815998,'0.3194E3',18(18)>,
total: #<BigDecimal:7f83f78158f8,'0.3194E3',18(18)>,
state: "complete", adjustment_total: #<BigDecimal:7f83f7815808,'0.0',9(18)>,
user_id: nil, completed_at: "2014-01-30 07:34:38", bill_address_id: 173224,
ship_address_id: 171925, payment_total: #<BigDecimal:7f83f7815560,'0.3194E3',18(18)>,
shipping_method_id: nil, shipment_state: "shipped", payment_state: "paid",
email: "test@email.com", special_instructions: "", created_at: "2014-01-30 05:00:49",
updated_at: "2014-01-30 16:12:31", currency: "USD", last_ip_address: "removed",
yahoo_order_id: nil, legacy_fields: {}, legacy_order_id: nil, created_by_id: nil,
channel: "spree", approved_at: "2014-01-30 14:27:10">],
那么我想知道的是有没有办法将订单中包含的项目添加到返回的结果中?
最佳答案
订单与SKU的关系如下:
那么,让我们看看搜索的方法。
首先,我可以通过对 order_id 进行简单搜索来找到订单:
sandbox » Spree::Order.search(id_eq: 1).result.first.id
(0.1ms) SELECT COUNT(*) FROM "spree_orders" WHERE "spree_orders"."id" = 1
=> 1
太好了。现在我需要通过 line_item 而不是订单来查找内容:
sandbox » Spree::Order.search(line_items_id_eq: 1).result.first.id
Spree::Order Load (0.5ms) SELECT "spree_orders".* FROM "spree_orders" LEFT OUTER JOIN "spree_line_items" ON "spree_line_items"."order_id" = "spree_orders"."id" WHERE "spree_line_items"."id" = 1 ORDER BY "spree_orders"."id" ASC LIMIT 1
=> 1
现在我想通过 variant_id 找到一些东西:
sandbox » Spree::Order.search(line_items_variant_id_eq: 1).result.first.id
Spree::Order Load (0.5ms) SELECT "spree_orders".* FROM "spree_orders" LEFT OUTER JOIN "spree_line_items" ON "spree_line_items"."order_id" = "spree_orders"."id" WHERE "spree_line_items"."variant_id" = 1 ORDER BY "spree_orders"."id" ASC LIMIT 1
=> 1
但我不想按 variant_id 搜索,而是按 SKU 搜索:
Spree::Order.search(line_items_variant_sku_eq: "ROR-00011").result.first.id
Spree::Order Load (0.5ms) SELECT "spree_orders".* FROM "spree_orders" LEFT OUTER JOIN "spree_line_items" ON "spree_line_items"."order_id" = "spree_orders"."id" LEFT OUTER JOIN "spree_variants" ON "spree_variants"."id" = "spree_line_items"."variant_id" AND "spree_variants"."deleted_at" IS NULL WHERE "spree_variants"."sku" = 'ROR-00011' ORDER BY "spree_orders"."id" ASC LIMIT 1
=> 1
所以,你或许可以使用:
<%= f.text_field :line_items_variant_sku_eq %>
得到你想要的。
关于ruby-on-rails - Spree Commerce - 按 sku 搜索订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22695386/
嗨,我需要一个商店软件,我可以在其中提供来自不同供应商的产品。例如可以从 3 个不同的供应商处以不同的价格购买一块 watch 。亚马逊也这样做。 (见 http://www.amazon.de/gp
我在 spree 时遇到了麻烦,不知道如何处理。 我无法更改主要货币。 我该怎么做? 最佳答案 它在 Spree 2.0.0 中更容易,而且显然它也可以在以前的 spree 版本中工作。 转到您的 c
嘿,我已经尝试了很多创建 spree 扩展,但经过数周的努力,我也没有从中得到预期的结果。我已经关注了关于扩展教程的 spreecommerce 网站,但我发现它对于 spree 初学者来说还不够。
是否有类似Graree的Spree(Rails)之类的东西?我已经看到了关于https://stackoverflow.com/questions/6543129/grails-ecommerce-f
我遇到 Spree 问题,当我尝试转到/admin 页面时,我得到 Spree 未初始化常量 Spree::UserSessionsController。我被重定向到/login 并且出现错误。 St
我在基本的 Spree 3.0.0 安装上使用 Braintree。 我创建了一个沙盒帐户,并在 Braintree 的管理面板中添加了商家 ID 和 key 。我能够完成一个订单,一切看起来都很好,
大家好,Spree 我正在使用 spree 2.0.3。我想将“SHOP”文本更改为“Grab food”、“Cart”-->“food cart”,并在旁边的“shop by categories”
大家好,Spree 我正在使用 spree 2.0.3。我想将“SHOP”文本更改为“Grab food”、“Cart”-->“food cart”,并在旁边的“shop by categories”
In Spree 3.1 标准主题(开箱即用) 我尝试更改背景图片,但没有用。也许路径是错误的。帮助需要。这是我所做的。 上传图片为/app/assets/images/NewBackGroundIm
我面临在新的 spree 4.4 上找不到丢失的“spree-dashboard.js”文件。它不是通过运行 yarn install 修复的。 最佳答案 运行以下命令对我有用 yarn 构建 关于r
我正在尝试 RAILS_ENV=production run rake paperclip:refresh:thumbnails CLASS=Spree::Image 在我当前的 Rails 应用程序
有谁知道是否可以向产品的关键属性集(名称、描述、永久链接、元描述等)添加新属性?这个想法是我希望在创建产品时使用这些属性,而不是通过产品属性添加它们。 谢谢。 最佳答案 最简单的方法是通过迁移将属性直
我正在尝试使用以下方法覆盖 base_helper.rb 的辅助方法: module Spree module BaseHelper.class_eval do def taxons_tr
您好,我的 order_decorator.rb 中有以下代码行 Spree::Order.state_machine.before_transition :to => :delivery,
目前,我正在尝试将购物车链接添加到我页面上的下拉菜单中。代码如下: "> "> Check
因此,我们希望将我们网站的一部分重新构建为 Rails 应用程序。最初的计划是拥有一个主要的“站点”应用程序,其中包含许多具有分区功能的插件应用程序(Rails 3.1 引擎)——一个商店组件、一个社
我正在使用 spree 2.1.5、rails 4.0.2、sass-rails 4.0.0。 spree 文档位于 http://guides.spreecommerce.com/developer
我正在使用 spree 并制作在线购物车。我想在每页上看到 12 个产品,但现在它显示 10 个我该如何更改。 在我的 spree.rb 文件中,我放了这段代码,但它不能工作 Spree::Confi
嗨,我也是 spree 和 rails 的新手。请在这件事上给予我帮助。 我想在页面的侧边栏上显示选定的分类单元。 可以说我的分类结构是这样的 Dresses -Party -sub
如何在 Spree 结账程序中删除帐单(或送货)地址?我正在使用 spree 1.3 最佳答案 您可以通过从 checkout_flow 中删除送货步骤来删除送货地址。通过将此代码放入您的应用程序中来
我是一名优秀的程序员,十分优秀!