0

Rails 3.2.3アプリをテストするためにrakeを実行しようとしていますが、この奇妙なエラーが発生します

gems/1.9.1/gems/activemodel-3.2.3/lib/active_model/mass_assignment_security.rb:206:in `const_get': uninitialized constant ActiveRecord::Base::StrictgitSanitizer (NameError)

私のスペックファイルは完全に空です。まだテストコードを書き始めていません。自動生成されたスペックファイルは空白です。

この問題をデバッグする方法についてのアイデアが必要です。

4

1 に答える 1

2

誤ってconfig/environment.rb内に単語gitを貼り付けたのではないかと思います。どういうわけか、ActiveModelは名前の一部として使用しており、またはのようなものを使用する必要があります。config.active_record.mass_assignment_sanitizer = :strictStrictgitLoggerStrict

エラーが発生するgems/1.9.1/gems/activemodel-3.2.3/lib/active_model/mass_assignment_security.rbの206行目を確認しました。行206を囲む方法は次のとおりです。

def mass_assignment_sanitizer=(value)
  self._mass_assignment_sanitizer = if value.is_a?(Symbol)
    const_get(:"#{value.to_s.camelize}Sanitizer").new(self)
  else
    value
  end
end

私が見る限り、Rails自体のとmass_assignment_sanitizer=(value)の値でのみ呼び出されます。:logger:strict

于 2012-05-09T01:17:18.203 に答える