Rails 3.2 アプリに初期データを入力しています。国と州のモデルがあります。私が持っている状態モデルでは
validates :country_id,
presence: true
validates :name,
presence: true,
uniqueness: {
scope: :country_id
}
私が取得している状態を作成しようとすると
State Exists (0.9ms) SELECT 1 FROM "states" WHERE ("states"."name" = 'my-test-state' AND "states"."country_id" = 220) LIMIT 1
Country Load (0.6ms) SELECT "countries".* FROM "countries" WHERE "countries"."id" = 220 LIMIT 1
(0.6ms) ROLLBACK
つまり、State モデルには 4 つのレコードしかなく、作成しようとしているレコードと同一のものはありません。これは間違いなく唯一無二の記録です。
検証が失敗するのはなぜですか? 2 つの列で検証するための構文は正しいですか? (名前 + country_id)
ありがとう