我有一个我创建的 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
视为一个范围而不是一个整数,我该如何解决这个问题?
最佳答案
rand()
中的范围支持是在 Ruby 1.9.3 中添加的。您可能在 Heroku 上运行 1.9.2(默认)。您可以通过将 ruby "1.9.3"
添加到 Gemfile 来在 Heroku 上运行 1.9.3。
关于ruby-on-rails - Heroku Rake 任务不理解 rand 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14845515/