is_master
がfalse
であるが、ransackが期待どおりに機能していない場合、すべての変種を見つけようとしている。私がransackを使用している理由は、私がこの検索を実行可能なapi上で実行できるようにするためです。/api/v1/variants?q[is_master_true]='0'
のような要求をして、すべての非マスターバリアントを取得することができます。詐欺でransack search true/falseを無視して
> 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で無視される。実際にはdocumentation
>> User.ransack(awesome_false: '1').result.to_sql
=> SELECT "users".* FROM "users" WHERE ("users"."awesome" = 'f')
で
は
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'"
012作品
is_master_false: '1'
は、レコードを検索する代わりにSQLクエリに何も行わないのはなぜですか?is_master = false
?
あなたの質問は何ですか? – sawa
@sawaなぜis_master_falseは、is_maser = falseのすべてのレコードを見つけるクエリを作成するのではなく、無視されます。 – Qwertie