Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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 TypeError:应为数字_Ruby On Rails_Postgresql - Fatal编程技术网

Ruby on rails TypeError:应为数字

Ruby on rails TypeError:应为数字,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我有一个型号的名字是job 我想计算创建作业以来的天数 我想我们必须计算一下今天的日期与在 我的方法是: def self.open_jobs(date) Date.today - where("status='open' AND date(created_at) = ?",date).round end 我得到一些错误,请让我知道如何计算天的工作已经创建 我得计算天数。例如,我在2012年9月20日创造了一份工作。 日期应为今天-2013年9月20日 答案应该是5天,还有一件事我需要

我有一个型号的名字是
job

我想计算创建
作业以来的天数

我想我们必须计算一下今天的
日期与

我的方法是:

def self.open_jobs(date)
    Date.today - where("status='open' AND date(created_at) = ?",date).round
end
我得到一些错误,请让我知道如何计算天的工作已经创建

我得计算天数。例如,我在2012年9月20日创造了一份工作。 日期应为今天-2013年9月20日 答案应该是5天,还有一件事我需要再检查一列status=“open”并只显示这些作业


如果有人知道如何计算,请在这里发布。

你是对的,你应该使用
日期。今天
作业。创建时间

如果要计算创建作业后的天数,请使用以下命令:

def job_for_days
  (Date.today - self.created_at).round(1.day)
end
给定两个日期-

date1= Date.parse("10/10/2012")

date2= Date.parse("10/21/2012")
天数差异:

date2.mjd - date1.mjd
在哪里,


mjd=修改后的朱利安日数

作业。在
创建的是时间
日期。今天
是日期

您不能减去
时间
日期
。查看
Date.moother-Time.now
给出的错误

要以秒为单位获得差异,请执行以下操作:

Time.now - job.created_at
您可以将其转换为天(浮点或整数),如下所示:

(Time.now - job.created_at) / 24.hours
((Time.now - job.created_at) / 24.hours).to_i
或者有(上帝的回答):


请看我的回答,然而,你问题中的方法似乎针对的结果与你所问的不同-你在寻找什么?但我得到的是未定义的方法本身,还有一件事我需要检查一个列作业。status='open'如何为此编写方法?你是否将此方法放入
作业
模型中?至于第二个问题,请看我对你原始帖子的评论。第三个回答正是我所需要的。谢谢
Date.today.mjd - job.created_at.to_date.mjd