搜索Spree中的关联

时间:2016-07-30 03:19:02

标签: ruby-on-rails spree ransack

Spree报告利用ransack进行搜索。根据ransack文档,我应该能够使用以下代码行来搜索包含多个项目的订单项的所有订单。

Spree::Order.ransack(line_items_quantity_gt: 1)

但是当我在控制台中输入该行时,我得到以下输出

Ransack::Search<class: Spree::Order, base: Grouping <combinator: and>>

根据应该有效的ransack文档。在搜索参数中似乎不接受该关联。订单项位于Spree :: Order.ransackable_associations提供的列表中,所以我对它为什么不起作用感到有些困惑。

1 个答案:

答案 0 :(得分:0)

某些关联(属性,范围)可以被列入白名单,而其他关联则被抢劫案忽略。

要覆盖应用添加(至)文件app/controllers/spree/products_controller_decorator.rb中的默认值:

Spree::ProductsController.class_eval do

  Spree::Product.whitelisted_ransackable_associations = %w[taxons stores variants_including_master master variants]

end