Nic*_*ilt 24 ruby-on-rails has-and-belongs-to-many
HABTM关系不支持该:dependent选项是真的吗?
class Person < ActiveRecord::Base
  has_and_belongs_to_many :posts, :dependent => :destroy
end
我正在尝试rails edge.
Mat*_*lly 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可能被其他人引用persons).
但是从你的名字(猜测Person和Post)我会假设你也许可以逃脱一Person has_many :posts和Post belongs_to :person在这种情况下,你可以使用:dependent => :destroy上的has_many关联.
尝试这个:
class Person < ActiveRecord::Base
  has_and_belongs_to_many :posts
  before_destroy do
    posts.each { |post| post.destroy }
  end
end
您不需要 posts.clear 因为 Rails 4.2+ 已经处理了这个问题。
| 归档时间: | 
 | 
| 查看次数: | 15654 次 | 
| 最近记录: |