Wann wird touch für ein "any_to" in Rails ausgelöst?

9

Ich habe eine Frage-und-Antwort-App. Jedes Mal, wenn jemand einer Frage eine Antwort hinzufügt, möchte ich den Zeitstempel update_at für die Frage aktualisieren.

Deshalb benutze ich Touch im Antwortmodell.

%Vor%

Es scheint jedoch, dass der Zeitstempel aktualisiert wird, wenn keine Antworten hinzugefügt werden. Ich versuche herauszufinden, wie / warum. Dies ist erst seit dem Hinzufügen dieser Touch-Methode passiert.

Also wollte ich bestätigen, wenn die Berührung ausgelöst wird? Nur wenn ein Antwortobjekt erstellt, bearbeitet oder zerstört wird? Gibt es noch andere Ereignisse? d. h. es sollte nicht ausgelöst werden, indem nur unter bestimmten Umständen auf ein Antwortobjekt geschaut wird?

Ich konnte keine solide Dokumentation finden, die beschreibt, wie die Berührung genau im Kontext einer Beziehung "gehört" funktioniert.

Der Grund, warum dies ein wenig verwirrend ist, ist, dass die App relativ einfach ist und dem Benutzer keinerlei Funktionalität zum Bearbeiten oder Zerstören von Antworten bietet, sobald sie gesendet wurden.

    
bigwinner 19.12.2012, 13:18
quelle

1 Antwort

11

Von: Ссылка

  

: Berühren Sie   Wenn der Wert true ist, wird das zugehörige Objekt berührt (die Attribute updated_at / on sind auf jetzt gesetzt), wenn dieser Datensatz entweder gespeichert oder zerstört wird. Wenn Sie ein Symbol angeben, wird dieses Attribut zusätzlich zum Attribut updated_at / on mit der aktuellen Uhrzeit aktualisiert.

belongs_to :company, :touch => true

belongs_to :company, :touch => :employees_last_updated_at

    
wpp 19.12.2012, 13:25
quelle

Tags und Links