这就是我愿意做的事情:
SessionsController#destroy
def destroy
clear_all_sessions current_user.id
reset_session
redirect_to root_path
end
def save_signup_history(member_id)
SignupHistory.create(
member_id: member_id,
email_id: @member.email,
ip: request.remote_ip, # Useful for Remote IP
accept_language: request.headers["Accept-Language"],
ua: request.headers["User-Agent"],
login_location: get_ip_location(request.remote_ip), # returns remote login location
)
end
这是我做过的,但是对我的逻辑感到困惑
def session_end_method
if session.destroy
Time.now
else
SignupHistory.created_at + ENV['SESSION_EXPIRE']
end
end
def update_signup_history
SignupHistory.update(
session_end: session_end_method # call the method that is doing the logic so the value can be updated into the cell.
)
end
但这是行不通的,我可以同意这不是一个可靠的解决方案。有人可以帮帮我吗?我要做的就是根据我的解释更新数据库中的session_end列。
从下图可以看到,session_end不会在数据库中保存任何内容。