Ich habe versucht, ein Modell zu bekommen, das die id column
nicht enthält. Ich denke, dass die Methode select
dies erlaubt, aber wenn ich auf Modelle zugreife, sehe ich das id
Feld mit nil
Wert.rails: Wie kann eine bestimmte Eigenschaft aus einem Array von Objekten in einer JSON-Antwort weggelassen werden?
Wenn ich:
module API
class MyController < ActionController::API
def index
response = MyModel
.where("value > ?", 0)
.select('code','value')
render json: response, status: 200
end
Wenn ich inspizieren das Ergebnis jedes ähnliche
MyModel .wo ("? Value>", 0) .select ('Code' mit‘ Wert ') .each {| m | m stellt}
Ich erhalte diese
<MyModel id: nil, code: "110", value: 100>
<MyModel id: nil, code: "111", value: 100>
<MyModel id: nil, code: "112", value: 100>
und in meiner Antwort, die ich erhalten diese:
[{id: null, code: "110", value: 100},{id: null, code: "111", value: 100},{id: null, code: "112", value: 100}]
Wie die Spalte id weglassen?
Warum versuchen Sie dies zu tun? Welches Problem versuchen Sie zu lösen? –
@jordan Ich brauche ein Array von 'MyModel', aber ohne das ID-Feld enthalten –
Richtig, du hast es schon gesagt. Aber welches Problem versuchen Sie zu lösen? Sie wollen "ein Array zurückgeben", aber wohin? Was ist der Anwendungsfall? Es ist Ihnen bereits gelungen, nur die Felder 'code' und' value' aus der Datenbank auszuwählen, weshalb das 'id' Attribut 'nil' ist. –