0

在我的 Rails 回调中,我有这样的事情:

private
def update_points
  if user_id_changed?
    user_was = User.find(user_id_was)
    user_was.points -= points_was
    user_was.save
    user.points += points
    user.save
  end
end

这是这样做的正确方法user_was吗?我最初只是假设user_was已经定义(或可以在现场定义),因为user_id_was存在。

4

1 回答 1

0

从上下文中我不清楚你到底在做什么(也许第二个points应该是points_was?)。为了略微提高清晰度,具体取决于您询问的对象,并且行数更少:

...
  user_was = User.find(user_id_was)
  user_was.update_column :points, user_was.points - points_was
  user.update_column     :points, user.points     + points
...
于 2013-09-24T06:47:01.843 回答