首页 > 解决方案 > 用户注销时将签出时间更新到数据库中

问题描述

我试图在用户注销应用程序时使用注销时间更新我的数据库,但我的解决方案不起作用。

这是我在下面所做的:

所以我定义了一个方法,我在销毁操作中调用它来使用注销时间更新我的数据库,但它不起作用,而是引发参数错误。

更新方法

# the `save_signout_time` is what I have done to update logout_time upon sign out.
def save_signout_time(member_id)
  SigninHistory.update(
    logout_time: Time.now
  )
end


def destroy
  save_signout_time current_user.id
  clear_all_sessions current_user.id
  reset_session
  redirect_to root_path
end

我错过了什么?或者我该怎么做?

标签: ruby-on-railsrubyruby-on-rails-4

解决方案


您的函数save_signout_time需要一个 member_id,但您不使用该 member_id 进行更新。

如果您想按照现在的架构方式更新单个记录,您需要:

SigninHistory.update(member_id, logout_time: Time.now)

推荐阅读