Có cách nào để bỏ qua cập nhật liên kết với hiệp hội :touch
khi lưu không?Bỏ qua: liên lạc khi lưu đối tượng ActiveRecord
Setup:
class School < ActiveRecord::Base
has_many :students
end
class Student < ActiveRecord::Base
belongs_to :school, touch: true
end
Tôi muốn để có thể làm điều gì đó như sau đây mà các liên lạc được bỏ qua.
@school = School.create
@student = Student.create(school_id: @school.id)
@student.name = "Trevor"
@student.save # Can I do this without touching the @school record?
Bạn có thể làm việc này không? Một cái gì đó như @student.save(skip_touch: true)
sẽ là tuyệt vời nhưng tôi đã không tìm thấy bất cứ điều gì như thế.
Tôi không muốn sử dụng một cái gì đó như update_column
vì tôi không muốn bỏ qua các cuộc gọi lại AR.
Vì vậy, bạn thường muốn chạm vào, nhưng đôi khi bỏ qua các liên lạc? – AlexBrand
Vâng, chính xác. Về cơ bản tôi có một tình huống mà tôi đang cập nhật nhiều mô hình mà tất cả các liên lạc cùng một mối quan hệ. Tôi muốn tránh sự đụng chạm trong tình huống đó. –