Railsでpersisted? が true のオブジェクトの値が保存されていない
RailsでCompanyモデルがあり、has_many QuarterValueという関係を持っています。
そしてCompanyのインスタンスメゾットでQuarterValueの特定の値を一括で変更するという処理をしているのですが、何故か変更がDBに反映されません。
変更後に
company.quarter_values.map(&:persisted?)
を試すと全てtrueが返ってきます。
またcompany.quarter_values.lastで該当カラムを確認すると値が変更されているのですが
quarter_value = QuarterValue.find(company.quarter_values.last.id)
で確認すると該当カラムの値は変更されていません。
該当のカラムの型はdecimalで代入しようとしてる値はBigDecimalです。
quarter_value.update(column_name: value)
で値を更新すると問題なく行われます。
一体何が問題なのでしょうか?
何か基本的な事を見落としてる気がするのですが、
どう調べれば良いかもわからない状態で困っています。
Rails: 4.2.1 でDBは Postgresql を使っています。