ここに私の before_save メソッドがあります:
before_save :check_postal
def check_postal
first_three = self.postal_code[0..2]
first_three.downcase!
postal = Postal.find_by_postal_code(first_three)
if postal
self.zone_id = postal.zone_id
else
PostalError.create(postal_code: self.postal_code)
return false
end
end
すべてが正常に実行されますが、ステートメントself.zone_id = postal.zone_id
内では、レコードがデータベースに保存されません..else
PostalError.create(postal_code: self.postal_code)
ステートメントを削除すると問題なく保存されるため、ステートメントと関係があることはわかっていますreturn false
が、それでは目的が無効になります..
PostalError
現在のオブジェクトが保存されないように false を返しながら、保存する新しいレコードを取得するにはどうすればよいですか..