1

Ich habe eine JSON-Spalte - document.Scope mit Argument für eine JSON-Spalte

I angegeben haben das color_code Attribut mit store_accessor :document, :color_code

kann ich erfolgreich alle Instanzen für die Nummer abfragen 3:

MyModel.where("document ->> 'color_code' = '3'") 

Aber wie würde ich diese Abfrage auf einen Umfang mit einer Reihe Argument konvertieren, so Ich kann es allgemeiner verwenden?

Antwort

5

Sie können so etwas wie dies versuchen:

class MyModel 
    scope :with_color, ->(color) { where("document ->> 'color_code' = '?'", color) } 
end 

und geben Sie dann den Umfang:

MyModel.with_color(3)