So wählen Sie mit ActiveRecord @ nur einen Teil von json aus, der in Postgres gespeichert i

Sag ich habe ein ModellUser, das ein Feld vom Typ @ hjson namenssettings. Nehmen wir an, dass dieses Feld ungefähr so aussieht:

{
  color: 'red', 
  language: 'English', 
  subitems: 
    {
      item1: true, 
      item2: 43, 
      item3: ['foo', 'bar', 'baz']
    }
}

Wenn ich macheUser.select(:settings) Ich bekomme alle Einstellungen für jeden Benutzer. Ich möchte aber nur die Sprachen für einen Benutzer bekommen. Ich habe beide ausprobiert:

User.select("settings -> 'language'")

un

User.select("settings ->> 'language'")

, aber dies gibt nur leere Objekte zurück:

[#<User:0x007f381fa92208 id: nil>,
...]

Ist das überhaupt möglich? Wenn ja - kann ich es mit nur @ tjson oder muss ich zu @ wechsejsonb?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage