我有類項目,刪除兒童導軌4
class Project < ActiveRecord::Base
has_many :Users
acts_as_tree
end
我想刪除所有的孩子,如果我刪除父,在這種情況下的意思,如果我刪除的項目(父)必須全部刪除用戶(兒童)和子項目(兒童)。
我可以通過用戶dependent: :delete_all
補充,但我不知道我該怎麼做acts_as_tree
感謝
我有類項目,刪除兒童導軌4
class Project < ActiveRecord::Base
has_many :Users
acts_as_tree
end
我想刪除所有的孩子,如果我刪除父,在這種情況下的意思,如果我刪除的項目(父)必須全部刪除用戶(兒童)和子項目(兒童)。
我可以通過用戶dependent: :delete_all
補充,但我不知道我該怎麼做acts_as_tree
感謝
嘗試使用相關的:破壞,如: -
has_many :users, dependent: :destroy
我知道我是如何爲用戶做的,我不知道我該怎麼做acts_as_tree! 閱讀plz問題 – Arthur
act_as_tree
默認行爲會自動破壞children
當你破壞parent
,你可以看到在源代碼(https://github.com/amerine/acts_as_tree/blob/master/lib/acts_as_tree.rb)
但是,你可以改變這種行爲的具體方式,你會用has_many
方法相同,例如:
act_as_tree dependent: :delete_all
你的情況
所以,你只需要級聯破壞用戶:
class Project < ActiveRecord::Base
has_many :users, dependent: :destroy
acts_as_tree # dependent: :destroy
end
因此,@ user3506853的回答實際上是正確的,考慮到您提出問題的方式。
乾杯!
您應該定義樹關係作爲關聯! 'has_many:children,class_name:'Project',dependent::destroy,foreign_key:'parent_id''(檢查foreign_key的名稱) –