需要在更新rails中的属性后重新加载变量

时间:2013-03-09 10:44:28

标签: ruby-on-rails

当我在rspec或黄瓜中测试时,每次更新属性时,我都必须再次“重新加载”变量:

  @answer.update_attributes(notified: false)
  @answer = Answer.find(@answer)

否则@answer不会更新。这似乎效率低下。这是正确的吗?我做错了什么,或者这是它的工作方式?

编辑:完整规范

describe "notify method" do

  before (:each) do
    @user = FactoryGirl.create(:user)
    friend = generate_friend_for_user(@user)
    @answer = FactoryGirl.create(:answer, user: friend, contact: @user.service)
    @answer.update_attributes(notified: false)
    @answer = Answer.find(@answer)
  end

it "should send an email and update last_email field" do
  @user.update_attributes(last_email: 25.hours.ago)
  @answer.notify.should == true
  @user = User.find(@user)
  @user.last_email.should > 1.minute.ago
end

0 个答案:

没有答案