Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rspec不与拥有<;控制器中的操作员_Ruby On Rails_Ruby On Rails 3_Rspec_Controller_Operators - Fatal编程技术网

Ruby on rails Rspec不与拥有<;控制器中的操作员

Ruby on rails Rspec不与拥有<;控制器中的操作员,ruby-on-rails,ruby-on-rails-3,rspec,controller,operators,Ruby On Rails,Ruby On Rails 3,Rspec,Controller,Operators,我正在跟踪Ryan Bates关于密码重置的铁路诈骗案。我决定通过TDD实现他的代码,但我的一个测试拒绝工作。每当我跑的时候 context "for checking update succeeds" do before do post :update, id: "2012-12-03 04:23:13 UTC" end it { should assign_to(:user) } it { should respond_with(:redirect) }

我正在跟踪Ryan Bates关于密码重置的铁路诈骗案。我决定通过TDD实现他的代码,但我的一个测试拒绝工作。每当我跑的时候

context "for checking update succeeds" do
  before do
    post :update, id: "2012-12-03 04:23:13 UTC"
  end

  it { should assign_to(:user) }      
  it { should respond_with(:redirect) }
  it { should redirect_to(signin_path) }
  it { should set_the_flash.to("Password has been reset.")}

end
我得到以下错误

 Failure/Error: post :update, id: "2012-12-03 04:23:13 UTC"
 NoMethodError:
   undefined method `<' for nil:NilClass
失败/错误:发布:更新,id:“2012-12-03 04:23:13 UTC”
命名错误:
从注释复制的未定义方法“:


看起来像是
@user。在
发送的密码是
nil
。如果允许为
nil
,则应通过

if @user.password_reset_sent_at && @user.password_reset_sent_at < 2.hours.ago
如果@user.password\u reset\u发送于&&@user.password\u reset\u发送于<2小时前
如果不允许这样做,那么您的模型中的某个地方就有一个bug。测试似乎很好。

摘自评论:


看起来像是
@user。在
发送的密码是
nil
。如果允许为
nil
,则应通过

if @user.password_reset_sent_at && @user.password_reset_sent_at < 2.hours.ago
如果@user.password\u reset\u发送于&&@user.password\u reset\u发送于<2小时前

如果不允许这样做,那么您的模型中的某个地方就有一个bug。测试似乎很好。

看起来像
@user。发送到
的密码重置为
nil
。如果允许为
nil
,则应通过
检查@user.password\u reset\u sent\u在<2.小时前发送的&&@user.password\u reset\u
。如果不允许这样做,那么您的模型中的某个地方就有一个bug。测试似乎很好。谢谢,这解决了问题。现在我需要去检查一下模型。将此作为答案发布,我会给你评分。看起来像是
@user。发送到
的密码是
nil
。如果允许为
nil
,则应通过
检查@user.password\u reset\u sent\u在<2.小时前发送的&&@user.password\u reset\u
。如果不允许这样做,那么您的模型中的某个地方就有一个bug。测试似乎很好。谢谢,这解决了问题。现在我需要去检查一下模型。把这个作为答案贴出来,我会给你评分的。