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