HABTM关系是否支持:dependent
选项?
class Person < ActiveRecord::Base
has_and_belongs_to_many :posts, :dependent => :destroy
end
我正在尝试使用rails。
答案 0 :(得分:77)
如果您想保持简单的has_and_belongs_to_many
关联,可以添加以下内容:
class Person < ActiveRecord::Base
has_and_belongs_to_many :posts
before_destroy { posts.clear }
end
将清除person
的所有条目的连接表。注意:这只会从连接表中删除记录,它不会破坏posts
(如果它是双向has_and_belongs_to_many
则有意义,因为post
可能被其他{引用} {1}})。
但是从你的名字(persons
和Person
)开始猜测我会假设您可以使用Post
和Person has_many :posts
来逃避,在这种情况下您可以使用Post belongs_to :person
协会上的:dependent => :destroy
。
答案 1 :(得分:18)
答案 2 :(得分:3)
试试这个:
class Person < ActiveRecord::Base
has_and_belongs_to_many :posts
before_destroy do
posts.each { |post| post.destroy }
end
end
你不需要发帖。清楚,因为Rails 4.2+已经处理过了。