読者です 読者をやめる 読者になる 読者になる

ActiveRecord::RecordNotSaved – before_save問題

test "save" do 
  address = Address.new(valid_address)
  assert address.save
end

こんな簡単なテストが通らないと思ったら、「ActiveRecord::RecordNotSaved」が発生してた。Addressモデルには、before_saveで以下のように記述してある。

before_save {
    self.is_sender = false
}

どうやらこのfalseが原因らしく、最後にreturn trueしてやってその場をしのいだ。

before_save {
    self.is_sender = false
    true
}

参考:Sketchpad – Dan Sketcher’s personal blog » Blog Archive » ActiveRecord::RecordNotSaved – before_save problem