Du kan också direkt använda IN tillsammans med json_array_elements:
Recipe.where("'405' IN (SELECT json_array_elements(data->'category_ids')::text)")
Och om din kolumn är en jsonb-kolumn kan du på liknande sätt göra:
Recipe.where("'405' IN (SELECT jsonb_array_elements(data->'category_ids')::text)")