我正在開發一個Rails應用程序,供用戶創建項目。有兩種類型的用戶Admins
和Collaborators
。管理員和協作者has_many :accounts, through: :account_users
,其中account_users是連接表。當管理員刪除他們的帳戶時,我也想刪除他們創建的帳戶和它的項目,但我無法讓這個工作。我的模型目前看起來是這樣的:通過has_many關係刪除對象:dependent =>:destroy Rails 3.2
class Collaborator < User
[...]
has_many :account_users
has_many :accounts, through: :account_users
[...]
end
class Admin < User
has_many :account_users
has_many :accounts, through: :account_users, :dependent => :destroy
[...]
end
class Account < ActiveRecord::Base
[...]
belongs_to :admin
has_many :account_users
has_many :collaborators, through: :account_users
[...]
end
class AccountUser < ActiveRecord::Base
belongs_to :admin
belongs_to :account
belongs_to :collaborator
end
當管理員用戶刪除它的賬號,僅在連接表和用戶表中的行被刪除,他們的項目不會被刪除。
注意,我使用設計來處理驗證。
我該如何解決這個問題?
您有混合哈希語法:'通過::account_users,:dependent =>:destroy' ...最好選擇其中一個或另一個 – tybro0103