2
在我的Rails應用程序我有這些模型:如何銷燬has_many關聯和連接表記錄?
class Person < ActiveRecord::Base
has_many :jobs
has_many :projects, :through => :jobs
end
class Project < ActiveRecord::Base
has_many :jobs
has_many :people, :through => :jobs
end
class Job < ActiveRecord::Base
belongs_to :person
belongs_to :project
end
當我刪除person
,我想刪除所有相關jobs
和projects
。所以,我做這樣的事情:
class Person < ActiveRecord::Base
has_many :jobs, :dependent => :destroy
has_many :projects, :through => :jobs, :dependent => :destroy
end
這個偉大的工程,以擺脫jobs
的,但離開projects
(我假設,因爲沒有jobs
,該person
沒有辦法引用project
)。有沒有一種慣用的方式來做到這一點,或者我只需要在我的jobs
上使用before_destroy
回叫來刪除projects
?
感謝您的任何幫助。
太棒了。而已。我一直在努力解決這個問題好幾個小時。非常感謝。 – Tintin81