Rails:Active Record销毁时未初始化的常量错误

ste*_*ard 13 activerecord ruby-on-rails constants

我在尝试销毁活动记录实例时遇到问题.

它涉及以下AR

class Client < ActiveRecord::Base
    has_many :phone_numbers, :dependent => :destroy
    has_many :email_addresses, :dependent => :destroy
    has_many :user_clients , :dependent => :destroy
    has_many :users, :through => :user_clients 
end

class UserClient  < ActiveRecord::Base
belongs_to :user
belongs_to :client , :dependent => :destroy
has_many :instructions, :dependent => :destroy
end
Run Code Online (Sandbox Code Playgroud)

在客户端实例上执行销毁时,我收到以下错误

@dead_man = Client.find(params[:id])
@dead_man.destroy => uninitialized constant UserClient::Instruction
Run Code Online (Sandbox Code Playgroud)

我真的不确定这个错误来自哪里.任何帮助是极大的赞赏!

Sar*_*Mei 20

它没有找到你的指令模型.确保它在models目录中,适当命名,扩展ActiveRecord::Base等.

此外,您应该删除UserClient模型中:dependent => :destroybelongs_to :client行,除非您确实要删除user_client以导致删除客户端.这听起来应该是相反的,并且已经在客户端模型中设置了.