我正在尝试根据用户登录获取当前的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()
会正确更新数据库。
答案 0 :(得分:1)
如何使用increment!
user = User.find_by_email(@email)
user.increment!(:redirect_count)
答案 1 :(得分:0)
怎么样
user = User.find_by_email(@email)
user.redirect_count += 1
user.save