2016-06-20 5 views
0

Ich versuche, die letzte aktualisierten Datensatz von 'Gewicht' von dieser DB zu zeigen:Rails - Show letzter Rekord

DB structure

ich es zu nennen versuchen mit: Mich

<%= @user.weights.last %> 

habe keinen Fehler bekommen, aber ich bekomme diese Zeichenkette gedruckt:

<Weight:0x007f80814ab538> 

Versucht alle Sorten!

+0

Warum nicht Sie das Ergebnis über das Scope im Modell in den Controller übertragen? Oder einfach etwas tun wie: last_weight = Weight.last, dann last_weight.weight –

+0

Die 'last' Methode macht nichts mit der letzten Aktualisierung. Es sortiert nach ID desc und erhält den ersten Datensatz. – jaydel

Antwort

1

Was Sie sehen, ist ein Gewicht-Objekt, das zurückgegeben wird. Versuchen Sie, ein Feldattribut auf das Aufruf:

@user.weights.last.weight 
+0

Das gibt leider nichts aus. – Craiginwlaes

+0

Der vorgeschlagene Code sieht richtig aus. Könnten Sie versuchen, einen '.inspect' hinzuzufügen oder einen Haltepunkt zu erstellen und den Wert zu überprüfen, könnte es ein Problem sein, dass Ihre Ansicht den Wert nicht korrekt ausgibt –

0

erhalten zuletzt aktualisiert Benutzer Gewichte

@last_weight = @user.weights.order("updated_at DESC").first 

das Ergebnis:

<Weight:0x007f80814ab538> 

Und Sie brauchen die attibutes von Gewicht zu zeigen, in Ihrem Vorlage

<%= @last_weight.attribute_1 %> 
<%= @last_weight.attribute_2 %>