2

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)

ありがとう

4

0 に答える 0