0

が、、またはの場合my_counterは検証フラグがに設定される条件を設定する必要があります。それ以外の場合は、検証フラグをに設定します。012truefalse

しかし、私のvalidate_inclusion_of呼び出しは機能していません:

if User.find_by_email(@email)
      user = User.find_by_email(@email)
      user.my_count += 1
      user.save

      # Here is where it fails
      if validates_inclusion_of :my_count, :in => [0,1,2]
        @my_flag = true
      else
        @my_flag = false
      end
4

1 に答える 1

3

これは、モデルの検証をセットアップする方法ではありません。これを行うことをお勧めします:

@my_flag = [0,1,2].include? user.my_count

編集:User 2回のクエリが発生する2回を見つけていることを指摘させてください。これを行うことを検討してください:

if user = User.find_by_email(@email)
  user.my_count += 1
  user.save
  @my_flag = [0,1,2].include? user.my_count
end
于 2012-10-04T18:16:05.687 に答える