jas*_*328 1 ruby rake ruby-on-rails heroku ruby-on-rails-3
我有一个我创建的rake任务,在里面我有线
number = rand(1..10)
Run Code Online (Sandbox Code Playgroud)
当我在我的开发机器上运行它时一切都很好,但是,当我在Heroku上运行时,我返回了一个错误
rake aborted!
can't convert Range into Integer
/app/lib/tasks/sample_data.rake:57:in `rand'
Run Code Online (Sandbox Code Playgroud)
我应该注意到,在rake任务的早期我运行时rand(111)没有失败.我必须假设问题是由我设置一个开始和结束点供rand选择.
所以最重要的问题是,为什么Heroku会将其rand视为范围而不是整数,我该如何解决这个问题?
rand()Ruby 1.9.3中添加了范围支持.你可能在Heroku上运行1.9.2(默认值).您可以通过添加ruby "1.9.3"到Gemfile 在Heroku上运行1.9.3 .