部署到生产时没有方法错误

时间:2013-06-09 09:33:02

标签: ruby-on-rails

我在开发中使用带有sqlite的rails,在生产中使用mysql。我使用此方法Date.today.prev_day(n=3)获得上一个daya。这在开发中工作正常,但在部署到生产时会出现此错误:

NoMethodError (undefined method `prev_day' for Sun, 09 Jun 2013:Date)

2 个答案:

答案 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。