在Rails 3中使用Audit时,我得到“未初始化的常量User :: Audit”

时间:2012-10-08 18:48:49

标签: ruby-on-rails-3 rails-3-upgrade acts-as-audited

我在Rails 2应用程序中使用acts_as_audited并且正在将其更新为Rails 3.我已更新了几个模型来调用audited而不是acts_as_audited这些似乎有效成功。但是,我正在更新我的应用程序的用户模型,当我尝试创建用户时(从控制台或从应用程序),我收到以下错误:

uninitialized constant User::Audit

跟踪它似乎相关的位置是:

activerecord (3.2.8) lib/active_record/inheritance.rb:111:in `compute_type'
activerecord (3.2.8) lib/active_record/reflection.rb:172:in `klass'
activerecord (3.2.8) lib/active_record/associations/collection_association.rb:148:in `transaction'
activerecord (3.2.8) lib/active_record/associations/collection_association.rb:431:in `create_record'
activerecord (3.2.8) lib/active_record/associations/collection_association.rb:119:in `create'
activerecord (3.2.8) lib/active_record/associations/collection_proxy.rb:46:in `create'
audited (3.0.0) lib/audited/auditor.rb:216:in `block in write_audit'
activesupport (3.2.8) lib/active_support/callbacks.rb:403:in `_run__3460157709255055264__audit__3867610640799995319__callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.8) lib/active_support/callbacks.rb:385:in `_run_audit_callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:81:in `run_callbacks'
audited (3.0.0) lib/audited/auditor.rb:216:in `write_audit'
audited (3.0.0) lib/audited/auditor.rb:198:in `audit_create'

在我的控制器中创建问题的行只是声明:

if @editing_user.save

我查看了审计的github帐户的支持列表,但找不到适合我的问题的任何内容。我以为我会问这里是否有人有类似的问题。我也在这里搜索并谷歌找到这个具体问题的答案,但找不到任何相关的。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

事实证明,我在User模型中有has_many :audits但没有任何其他模型。删除has_many电话后,一切正常。