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
- 表连接sql到rails活动记录查询
- 如何将对象转换为字符串以用于ActiveRecord查询?
- 清洁方式按指定的顺序通过id查找ActiveRecord对象
- ActiveRecord find_all_by_X是否保留顺序? 如果不是,应该使用什么呢?
- 如何获得habtm协会的arel表?
- 将两个ActiveRecord :: Relation与OR组合,而不是AND,返回一个Relation而不是一个Array,以便稍后能够分页
- 使ActiveRecord连接模型属性在查询结果中可用
- 如何在ActiveRecord中重用连接?
- 我可以通过activerecord关系创建activerecord关联(使用祖先gem时)吗?