ユーザーがプロジェクトを作成できるRailsアプリに取り組んでいます。ユーザーには2つのタイプがありAdmins
ますCollaborators
。管理者と共同編集者の両方has_many :accounts, through: :account_users
。ここで、account_usersは結合テーブルです。管理者がアカウントを削除するときに、作成したアカウントとそのプロジェクトも削除したいのですが、これを機能させることができません。私のモデルは現在次のようになっています。
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
管理者ユーザーがアカウントを削除すると、結合テーブルとユーザーテーブルの行のみが削除され、プロジェクトは削除されません。
注意、私は認証の処理にdeviseを使用しています。
どうすればこれを解決できますか?