2013-02-19 68 views
0

我必须在这里错过一些超级简单的东西。在下面的RSpec的代码,第二断言失败,在其中执行代码应该已经被设置为true:续集:为什么不保存保存方法?

describe "#redeem!" do 

    it "marks a code as redeemed" do 
     existing_code = LotteryCode[promo_code: "A5"] 
     existing_code.is_redeemed.should == false 
     existing_code.redeem! 
     changed_code = LotteryCode[promo_code: "A5"] 
     changed_code.is_redeemed.should == true 
    end 
    end 

下面是型号代码:

require 'sequel' 

class LotteryCode < Sequel::Model 

    many_to_one :campus 

    def redeem! 
    is_redeemed = true 
    save 
    end 

end 

什么时我做错了?

回答

2

你想要self.is_redeemed = true,你当前的代码只是创建一个局部变量。