0

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 アカウントのサポート リストを調べましたが、私の問題に合ったものが見つかりません。誰かが同様の問題を抱えているかどうかを確認するために、ここで質問すると思いました。また、こことグーグルで検索して、この特定の質問に対する回答を見つけましたが、関連するものは見つかりませんでした。

何か案は?

4

1 に答える 1

0

User モデル内にはhas_many :auditsありましたが、他のモデルにはありませんでした。has_manyその呼び出しを削除した後、すべてが正常に機能しました。

于 2012-10-12T15:48:24.560 に答える