我试图找到所有变种大礼包is_master
是false
但是ransack没有按预期工作。我使用ransack的原因是我可以在spree api上运行这个搜索,所以我可以提出像/api/v1/variants?q[is_master_true]='0'
这样的请求来获取所有非主变体。大杂烩搜索spree忽略真/假
>> User.ransack(awesome_false: '1').result.to_sql
=> SELECT "users".* FROM "users" WHERE ("users"."awesome" = 'f')
在实践
> Spree::Variant.ransack(is_master_false: '1').result.to_sql
=> "SELECT \"spree_variants\".* FROM \"spree_variants\" WHERE \"spree_variants\".\"deleted_at\" IS NULL"
的is_master_false
在SQL被忽略
像sku_eq
另一个搜索工作正常
> Spree::Variant.ransack(sku_eq: '17636').result.to_sql
=> "SELECT \"spree_variants\".* FROM \"spree_variants\" WHERE \"spree_variants\".\"deleted_at\" IS NULL AND \"spree_variants\".\"sku\" = '17636'"
为什么is_master_false: '1'
对创建的sql查询不起任何作用,而不是查找其中的is_master = false
?
你的问题是什么? – sawa
@sawa为什么is_master_false被忽略而不是创建一个查询来查找所有记录is_maser = false – Qwertie