我有以下情況:相關:銷燬工作不
user.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
after_create :create_profile
after_create :programstart
has_one :profile, dependent: :destroy
has_many :weights, dependent: :destroy
has_many :programstarts, dependent: :destroy
has_many :user_nutrients, dependent: :destroy
has_many :nutrients, through: :user_nutrients, dependent: :destroy
private
def programstart
Programstart.create(:user_id => id)
end
end
nutrient.rb
class Nutrient < ActiveRecord::Base
validates :name, uniqueness: true
has_many :user_nutrients
has_many :users, through: :user_nutrients
end
user_nutrient.rb
class UserNutrient < ActiveRecord::Base
belongs_to :user
belongs_to :nutrient
end
對於簡介,權重和programstarts dependent: :destroy
作品。刪除用戶時,所有關聯的數據庫條目都將被刪除。但是,對於user_nutrients
dependent: :destroy
不起作用。刪除用戶後,這些條目仍然存在。
我在這裏錯過了什麼?
有什麼錯誤信息運行回調
after_destroy
? –沒有錯誤信息。我從控制檯中刪除用戶,除了user_nutrients表中的記錄外,所有從屬記錄都將被刪除。 – Oliver