2011-09-16 17 views
1

事情是有它增加了一些語法糖,以回報率的ActiveRecord定義過濾器和訂單rubygem 。我們使用meta_where,然後切換到squeel來獲得rails 3的支持。 的事情是,一切正常用ActiveRecord < = 3.0.10,現在當我試圖切換到3.1.0創業板,我得到這個錯誤:valid_scope_name?「:私有方法'警告」呼籲爲零:NilClass(NoMethodError)異常,同時更新到活動記錄3.1(導軌)

/Users/admin/.rvm/gems/[email protected]/gems/activerecord-3.1.0/lib/active_record/named_scope.rb:194:in `valid_scope_name?': private method `warn' called for nil:NilClass (NoMethodError) 

整個跟蹤如下:

/Users/admin/.rvm/gems/[email protected]/gems/activerecord-3.1.0/lib/active_record/named_scope.rb:194:in `valid_scope_name?': private method `warn' called for nil:NilClass (NoMethodError) 
    from /Users/admin/.rvm/gems/[email protected]/gems/activerecord-3.1.0/lib/active_record/named_scope.rb:175:in `scope' 
    from ./test/simplificator_filter/filterable/filterable_test.rb:12 
    from /Users/admin/.rvm/gems/[email protected]/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load' 
    from /Users/admin/.rvm/gems/[email protected]/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load' 
    from /Users/admin/.rvm/gems/[email protected]/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency' 
    from /Users/admin/.rvm/gems/[email protected]/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:640:in `new_constants_in' 
    from /Users/admin/.rvm/gems/[email protected]/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency' 
    from /Users/admin/.rvm/gems/[email protected]/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load' 
    from /Users/admin/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5 
    from /Users/admin/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `each' 
    from /Users/admin/.rvm/gems/[email protected]/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5 

rake中止!

我搜索了類似的錯誤,但沒有發現任何東西(主要是痕跡餡餅)。有誰知道可能是什麼問題?

預先感謝您。 乾杯, Neithan

+0

我看到這個錯誤,我沒有使用尖叫或meta_where。我正在使用composite_primary_keys 4.0.0。 –

回答

0

我設法解決它。

原來問題出在測試套件中。由於這個寶石是關於添加一些語法糖來定義過濾器,並命令它干擾ActiveRecord。

顯然,這樣做會導致問題,同時重新評估類或與測試用例中的同名類,去除一切正常後。

1

重新加載模型時的行爲已更改。雖然3.0不打擾load 'app/models/post.rb' 3.1引發此錯誤。 當你愛的交互細化控制檯上你的模型,你有Object.send :remove_const, 'Post'之前刪除模型。

相關問題