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_counter为 9,那么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 回答