我创建了一个rake任务,在其中我有一行
number = rand(1..10)
当我在我的开发机器上运行时,一切正常,但是,当我在Heroku上运行它时,我返回了一个错误
rake aborted!
can't convert Range into Integer
/app/lib/tasks/sample_data.rake:57:in `rand'
我应该注意到,在rake任务的早期我运行rand(111)
并没有失败。我必须假设问题是由我设置rand
的起点和终点来选择的。
所以最重要的问题是,为什么Heroku将rand
视为范围而不是整数,我该如何解决这个问题?
答案 0 :(得分:5)
Ruby 1.9.3中添加了rand()
中的范围支持。你可能在Heroku上运行1.9.2(默认值)。您可以在Heroku上运行1.9.3,将ruby "1.9.3"
添加到您的Gemfile中。