[前][次][番号順一覧][スレッド一覧]

rails:1523

From: OZAWA Sakuro <sakuro@e...>
Date: Tue, 15 Aug 2006 21:27:49 +0900
Subject: [rails:1523] Re: 検証ヘルパーは save メソッドの際のみ有効?

さくです。

On 2006/08/15, at 19:57, UEDA Hiroyuki wrote:

>  license2 = License.new(:key_number => 2)
>  license2.save
>
> と、一度レコードを作った後で
>
>  license2.key_number = 1
>  license2.save
>
> はエラーになるものの、
>
>  license2.update_attribute(:key_number, 1)
>
> はエラーにならず、重複データが登録できてしまいました。

validates_uniqueness_ofのドキュメンテーションコメントに

When the record is created, a check is performed to make sure that no  
record exists
in the database with the given value for the specified attribute  
(that maps to a column).
レコード作成時、指定された属性(カラムにマップされる) 
が所与の値であるレコードが
DBに無いことを確認するチェックが行われる。

When the record is updated, the same check is made but disregarding  
the record itself.
更新時は同様のチェックを、本レコード自身を無視して行う。

とあるので意図した仕様のようです。この仕様のほうが都合がいいんで 
しょうか……

-- 
OZAWA Sakuro <mailto:sakuro@e...>



--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      1522 2006-08-15 12:57 [bsdmad@g...         ] 検証ヘルパーは save メソッドの際のみ有効?
->    1523 2006-08-15 14:27 ┣[sakuro@e...         ]                                       
      1526 2006-08-16 06:08 ┃┗[bsdmad@g...         ]                                     
      1527 2006-08-16 07:16 ┗[walf443@g...        ]                                       
      1528 2006-08-16 08:04  ┗[nov@y...            ]                                     
      1529 2006-08-16 09:14   ┣[walf443@g...        ]                                   
      1533 2006-08-17 10:59   ┗[bsdmad@g...         ]