1

私は単純なモデルを持っています - Ruby/MongoMapper アプリケーションで買い物をします。

エラー メッセージが 1 つしか表示されない場合と、次のようなエラー メッセージが 3 つ表示される場合がある理由がわかりません。

「検証に失敗しました: ユーザーは既に取得されています, ユーザーは既に取得されています, ユーザーは既に取得されています」

はい、意図的に同じ user_id を複数回追加しています。

これが私のコードです:

class Shop
  include MongoMapper::Document
  key :user_id, String, :required => true, :unique => true

  def self.add
    begin
      ut = Shop.new
      ut.user_id = '11'
      ut.save!
      ut = nil
    rescue Exception => e
      puts e.message
    end
  end
end

結果:

# 'Validation failed: User has already been taken, User has already been taken, User has already been taken'

アップデート:

を削除するようです

ut = nil

「問題」を修正します。しかし、なぜ...

4

0 に答える 0