0

spec を実行すると、奇妙な動作に遭遇しました。

baz.viewed行のコメントを外さない限り、このコードは機能しません (更新されません) baz.reload

describe "#..." do
  it "..." do
    baz = user.notifications.create!(title: "baz")
    baz.update_attribute(:created_at, Time.now + 3.day)

    # it sets `viewed` to `true` in the model to which `baz` is referred.
    user.dismiss_latest_notification!

    # baz.reload
    baz.viewed.should == true
  end
end

Sporkまたはを使用してスペックを実行しませんGuardが、このモデルはとにかくリロードされません。

なぜそれが起こるのでしょうか?.reloadまたは、仕様でメソッドを呼び出すのは通常の慣行ですか?

4

1 に答える 1