2012-05-11 13 views
0

を無視しているように見えます:RailsのActiveRecordのは、私は次のモデルと関連を持つモデル誤差

ステータスにhas_many:取引、FOREIGN_KEYは::FOREIGN_KEY、状態:BELONGS_TO

取引をtranstatusid:transstatusid

私はトランザクションレコードt1とステータスレコードs3を持っていました。私は、次の操作を行うためのもの:

t1.transtatusid = s3.id 
t1.save 

私が代わりに誤って

t1.transtatusid = s3 
t1.save 

をこれをしたもつとも事はRailsが文句を言わなかったことです。それはちょうど割り当てを無視しました。

不平を言わなければなりませんか?そうでない場合は、どうしてですか?

私はMySQLを使ってRails3.2.1とRuby 1.9.3を使っています。

答えて

0

私が知る限り、Railsは保存時のエラーを無視して、オブジェクトの古い状態を続行します。 例外を発生させたい場合は、save!を使用する必要があります。代わりに。 その後、スローされたエラーから、エラーメッセージ、フラッシュメッセージまたはsimmilarで救助することができます。

+0

例はありますか? – IronMan84

関連する問題