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

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

它涉及以下AR

class Client  :destroy has_many :email_addresses, :dependent => :destroy has_many :user_clients , :dependent => :destroy has_many :users, :through => :user_clients end class UserClient  :destroy has_many :instructions, :dependent => :destroy end 

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

 @dead_man = Client.find(params[:id]) @dead_man.destroy => uninitialized constant UserClient::Instruction 

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

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

此外,您应该从UserClient模型中的belongs_to :client行中删除:dependent => :destroy ,除非您确实要删除user_client以导致删除客户端。 这听起来应该是另一种方式,并且已经在客户端模型中设置了。

还要检查文件名是否与类名相对应。 就我而言,我有

 Class NameSpace::MyStats 

 namespace/old_stats.rb 

并且Rails继续抛出“未初始化的常量错误”,直到我将其更改为

 namespace/my_stats.rb