2009-11-16 67 views
1

我知道這必須是愚蠢的東西,但我不斷收到以下錯誤在我的例子之一:Rspec的:在ActiveRecord的模型未定義的方法'新」的錯誤

undefined method `new' for #<Class:0x211d274> 

我創建了一個簡單的例子來顯示錯誤:

describe LateCharge do 
    before :each do 
    @membership = Membership.new 
    @location = mock_model(Location, :late_payment_rate => 10) 
    end 

    it "should initialize" do 
    LateCharge.respond_to?('new').should == true 
    @charge = LateCharge.new(@membership, @location) 
    end 
end 

奇怪的部分是,當我自己運行示例時,它會通過。當我用我所有的實例中運行它時,出現以下錯誤:

NoMethodError in 'LateCharge should initialize' 
undefined method `new' for #<Class:0x211d274> 
/Library/Ruby/Gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:1964:in `method_missing_without_paginate' 
/Users/l33/.gem/ruby/1.8/gems/mislav-will_paginate-2.3.11/lib/will_paginate/finder.rb:170:in `method_missing' 
./spec/models/late_charge_spec.rb:15: 

它上線失敗:@charge = LateCharge.new(@membership,@location)

我不在運行時或從控制檯實例化LateCharge對象時有任何問題。

任何人有任何想法?

回答

0

在我看來,以下信息的關鍵是你的問題:

will_paginate/finder.rb:170:in `method_missing' 
0

嘿李 - 如果不知道你仍然有這個問題,但我有同樣的事情,它是因爲其他規範我已經沒有解決這個功能。

相關問題