38
Đây có thể là một sự giám sát rất cơ bản về phía tôi, nhưng tôi dường như không thể nhớ lại một phương pháp đơn giản để xóa liên kết giữa hai đối tượng đã tham gia qua has_many :through
. IE:Active Record has_many: thông qua xóa một bản ghi liên quan
class Photo
has_many :tags, :through => :taggings
has_many :taggings, :dependent => :destroy
end
class Tags
has_many :photos, :through => :taggings
has_many :taggings, :dependent => :destroy
end
class Taggings
belongs_to :photo
belongs_to :tag
end
Nếu bạn có hai đối tượng, tag
và photo
, bạn có thể kết hợp chúng chỉ bằng cách làm này:
photo.tags << tag
Vì vậy, là có một đối diện đều đơn giản để điều này? ví dụ:
photo.tags.remove tag
Lưu ý rằng điều này sẽ không kích hoạt 'before_destroy' hoặc 'after_destroy' callbacks trên mô hình tham gia - sử dụng' destroy' tại chỗ của 'DELETE' nếu bạn cần điều đó. – PinnyM