ruby-on-rails - Heroku Rake 任务不理解 rand 方法

标签 ruby-on-rails ruby ruby-on-rails-3 heroku rake

我有一个我创建的 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/

相关文章:

ruby-on-rails - 使用 acts_as_taggable_on 向大量对象添加 N 标签

ruby-on-rails - 为什么使用触摸时after_save不触发?

html - 将 CSS 元素加载到 Rails 应用程序中

ruby-on-rails - 如果发生超时错误,我可以自动重新运行方法吗?

ruby-on-rails - 在 Rails 3 中将 session 变量初始化为数组

mysql - 我可以在 Rails .where() 中使用正则表达式吗?

ruby-on-rails - 乘客('Bundler:RubyVersionMismatch')

ruby - GMail 线程、IMAP 和 Ruby

ruby-on-rails - 覆盖Rails 3 Engines提供的命名路由

ruby-on-rails - 为什么在 rails 中使用 _form.html.erb