आप जो उपयोग करना चाहते हैं वह है @>
ऑपरेटर
, जो परीक्षण करता है कि आपके बाएं हाथ के मूल्य में दाएं हाथ का मूल्य है या नहीं। "Contains" ऑब्जेक्ट और सरणियों दोनों के लिए काम करता है, इसलिए निम्न क्वेरी काम करेगी:
SELECT * FROM products WHERE specs->'spec_options' @> '["spec1", "spec2"]';
जो मुझे विश्वास है कि आप इस तरह ActiveRecord-संगत सिंटैक्स में बदल सकते हैं:
scope :with_spec_options, ->(spec_options) {
where("specs->'spec_option' @> ?", spec_options.to_json)
}