更改activerecord的默认时区后测试失败

时间:2016-08-29 12:51:59

标签: ruby-on-rails ruby-on-rails-4 activerecord timezone

我有以下方法:

def track(user)
  user.last_login_from_ip_address = request.env['REMOTE_ADDR']
  user.last_login_at = Time.zone.now
  user
end

在我的控制器中,我这样做

track(user).save!

我还进行了以下测试,以确保正确跟踪用户:

  before do
    @user = create(:user, password: 'P@ssw0rd1', email: 'right@email.com', activation_state: 'active')
    @user.activate!
  end
  it 'should change the last login time' do
    post :authenticate, params
    expect(@user.reload.last_login_at).not_to be_nil
  end
直到现在,它完美地过去了 现在,我必须更改application.rb中的时区,如下所示:

config.active_record.default_timezone = 'Europe/Berlin'

我添加此行后,此测试现在失败了。没有last_login_at了 我发现这种行为非常奇怪,而且我不知道是什么导致它

0 个答案:

没有答案