Gibt es eine Möglichkeit, übersprungen zu aktualisieren Verbindungen mit einer :touch
Zuordnung beim Speichern?Überspringen: Berührungen beim Speichern eines ActiveRecord-Objekts
Setup:
class School < ActiveRecord::Base
has_many :students
end
class Student < ActiveRecord::Base
belongs_to :school, touch: true
end
Ich möchte in der Lage sein, etwas zu tun wie folgt aus, wo die Berührung übersprungen.
@school = School.create
@student = Student.create(school_id: @school.id)
@student.name = "Trevor"
@student.save # Can I do this without touching the @school record?
Können Sie das tun? Etwas wie @student.save(skip_touch: true)
wäre fantastisch, aber ich habe nichts dergleichen gefunden.
Ich möchte nicht so etwas wie update_column
verwenden, weil ich die AR-Callbacks nicht überspringen möchte.
Also in der Regel Sie berühren wollen, aber manchmal die Berührung überspringen? – AlexBrand
Ja, genau. Grundsätzlich habe ich eine Situation, in der ich mehrere Modelle aktualisiere, die alle dieselbe Beziehung berühren. Ich möchte die Berührung in dieser Situation vermeiden. –