我在开发中使用带有sqlite的rails,在生产中使用mysql。我使用此方法Date.today.prev_day(n=3)
获得上一个daya。这在开发中工作正常,但在部署到生产时会出现此错误:
NoMethodError (undefined method `prev_day' for Sun, 09 Jun 2013:Date)
答案 0 :(得分:0)
为什么不使用yesterday
方法:
1.9.3p392 :011 > Date.today
=> Sun, 09 Jun 2013
1.9.3p392 :012 > Date.yesterday
=> Sat, 08 Jun 2013
1.9.3p392 :013 > Date.yesterday.yesterday
=> Fri, 07 Jun 2013
或者,如果您需要指定之前的特定天数,请坚持使用prev_day方法,但请尝试删除n = 3并使用整数,如
Date.today.prev_day(3)
如果这不起作用,您可能在生产服务器上安装了旧版本的Ruby。
只需使用等效方法日期 - n
1.9.3p392 :017 > Date.today-3
=> Sun, 09 Jun 2013
答案 1 :(得分:0)
您可能在生产计算机上使用1.9.1之前的ruby版本。根据{{3}} prev_day
引入版本1.9.1。