0

ユーザーのログインに基づいて現在の ActiveRecord を取得し、カウンターを 1 増やしてから、新しい増分値でデータベースを更新しようとしています。ここで、電子メール アドレスはログインしているユーザーと同じです。

新しい増分値を設定することを除いて、すべてがコードで機能します。最初に別の変数に設定 ( my_counter) してから更新しようとしましたが、代入が失敗の原因です。

if User.find_by_email(@email)
      User.increment_counter(:redirect_count, 1)
      @my_counter.to_int = :redirect_count
      User.update_all({:redirect_count => @my_counter}, :email => @email)

my_counter9に設定するUpdateall()と、データベースが正しく更新されます。

4

2 に答える 2

1

使ってみてはどうですかincrement!

user = User.find_by_email(@email)
user.increment!(:redirect_count)
于 2012-10-04T16:21:13.717 に答える
0

どうですか

user = User.find_by_email(@email)
user.redirect_count += 1
user.save
于 2012-10-04T16:18:43.950 に答える