Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.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 在RubyonRails中比较日期_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 在RubyonRails中比较日期

Ruby on rails 在RubyonRails中比较日期,ruby-on-rails,ruby,Ruby On Rails,Ruby,我在RubyonRails中比较日期时遇到了一个奇怪的问题 这就是我要做的。我已经解析了一个文件并选择了一个日期作为变量@timeinfle。我正在将此值与我的用户在创建的进行比较。代码如下: @date=User.last.created_at @arr.each do |i| j=i.partition('(')[2] @timeinFile=j.partition(')')[0].to_datetime if @date < @timeinFile

我在RubyonRails中比较日期时遇到了一个奇怪的问题

这就是我要做的。我已经解析了一个文件并选择了一个日期作为变量
@timeinfle
。我正在将此值与我的
用户
在创建的
进行比较。代码如下:

@date=User.last.created_at
@arr.each do |i| 
    j=i.partition('(')[2]  
    @timeinFile=j.partition(')')[0].to_datetime
    if @date < @timeinFile    #Error: undefined method `to_datetime' for nil:NilClass
            @val='true'
    end
end
@date=User.last.created\u位于
@每个人都有自己的想法
j=i.分区('(')[2]
@timeinfle=j.partition(')[0]。到_datetime
如果@date<@timeinfle#错误:未定义nil:NilClass的方法“to_datetime”
@val='true'
结束
结束
当我分别注释if语句和粘贴值时,我得到以下输出

<p> <%= @date %> </p> ----------> 2013-08-05 09:16:33 UTC 

<p><%= @timeinFile.to_time %></p> -------------> 2012-10-02 12:00:00 UTC

-->2013-08-05 09:16:33 UTC

------>2012-10-02 12:00:00 UTC
任何人都可以告诉我我做错了什么

编辑

<a href="http://www.cpsc.gov/en/Recalls/2013/Fitness-Anywhere-Recalls-Early-Model-Suspension-Trainer-Devices-Due-to-Fall-Hazard/" target="_blank">Fitness Anywhere Recalls Early Model Suspension Trainer Devices Due to Fall Hazard</a> (Tue, 02 Oct 2012 12:00:00 GMT) Fitness Anywhere has received 570 reports of the strap length adjustment buckles breaking with 13 reports of injuries. TRX suspension trainers sold from 2006 through 2009. </p> </body> </html> 
(周二,2012年10月2日12:00:00格林威治标准时间)Fitness Anywhere收到570份皮带长度调节扣断裂报告,13份受伤报告。TRX悬挂训练器从2006年到2009年销售


这是我在@arr中得到的一行。下一步是用
然后用
分区,以圆括号中的日期…

那么,为什么在代码中使用
@timeinfle
,在测试中使用
@timeonsite

#Error: undefined method `to_datetime' for nil:NilClass
基本上意味着您正在对
nil
对象调用一个方法,我感觉错误是在
if
语句前面的一行触发的

当你把这张支票放进去时会发生什么

unless j.partition(')')[0].nil?
  @timeinFile=j.partition(')')[0].to_datetime
else
  @timeinFile = DateTime.now
end

如果它没有给你一个错误,你可以去找出为什么这个值是
nil

那么,为什么你要在代码中使用
@timeinfle
,在测试中使用
@timeonsite

#Error: undefined method `to_datetime' for nil:NilClass
基本上意味着您正在对
nil
对象调用一个方法,我感觉错误是在
if
语句前面的一行触发的

当你把这张支票放进去时会发生什么

unless j.partition(')')[0].nil?
  @timeinFile=j.partition(')')[0].to_datetime
else
  @timeinFile = DateTime.now
end

如果它没有给你一个错误,你可以去找出为什么这个值是
nil

你确定错误点与比较一致吗?当你得到错误时,查看
@arr
的内容会很有用。@MarekLipka yep它指向同一行:(
@arr.compact.each
你能试试这个吗我想@arr中包含一些
nil
values@NeilSlater检查我对原始帖子所做的编辑。我在我粘贴的语句中发现错误。您是否确定错误点与比较一致?当您发现错误时,查看
@arr
的内容会很有用@是的,它指向同一条线:(
@arr.compact.each
你能试试这个吗我想@arr中包含一些
nil
values@NeilSlater检查我对原始帖子所做的编辑。我粘贴的声明有错误。p,感谢编辑@Misha,今天早上我的打字很不稳定。是的,感谢编辑@Misha,今天早上我的打字很不稳定非常不稳定。