Wat je wilt gebruiken is de @>
operator
, die test of uw linkerwaarde de rechterwaarde bevat. "Bevat" werkt voor zowel objecten als arrays, dus de volgende query zou werken:
SELECT * FROM products WHERE specs->'spec_options' @> '["spec1", "spec2"]';
Wat ik geloof dat je zo kunt transformeren in ActiveRecord-compatibele syntaxis:
scope :with_spec_options, ->(spec_options) {
where("specs->'spec_option' @> ?", spec_options.to_json)
}