续集:为什么保存方法不节省?

时间:2013-02-19 22:07:58

标签: ruby sequel

我必须在这里遗漏一些超级简单的东西。在下面的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

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您想要self.is_redeemed = true,您当前的代码只会创建一个本地变量。