Yang ingin Anda gunakan adalah @>
operator
, yang menguji apakah nilai tangan kiri Anda berisi nilai tangan kanan. "Berisi" berfungsi untuk objek dan larik, jadi kueri berikut akan berfungsi:
SELECT * FROM products WHERE specs->'spec_options' @> '["spec1", "spec2"]';
Yang saya yakin Anda dapat mengubahnya menjadi sintaks yang kompatibel dengan ActiveRecord seperti:
scope :with_spec_options, ->(spec_options) {
where("specs->'spec_option' @> ?", spec_options.to_json)
}