无法将Range转换为Integer(Ruby on Rails)
发布时间:2020-12-16 19:05:36 所属栏目:百科 来源:网络整理
导读:我正在使用 Ruby(1.9.3)和Rails(3.2.2).我有任务文件,其中包含要填充到我的数据库的一堆虚假数据. 以下是我认为导致问题的部分任务 #Create random Tender and populate the db 20.times do |n| title = "#{Faker::Company.bs()} tender " company_name = Fa
我正在使用
Ruby(1.9.3)和Rails(3.2.2).我有任务文件,其中包含要填充到我的数据库的一堆虚假数据.
以下是我认为导致问题的部分任务 #Create random Tender and populate the db 20.times do |n| title = "#{Faker::Company.bs()} tender " company_name = Faker::Company.name opening_date=Time.at(rand * Time.now.to_i) closing_date=Time.at(opening_date + ( 8*7*24*60*60)) #add 8 weeks to the deadline bid_amount= rand(10000..100000) description=Faker::Lorem.paragraph(sentence_count = 3) Tender.create!(title: title,company_name: company_name,opening_date: opening_date,closing_date: closing_date,bid_amount: bid_amount,description: description ) end 它适用于dev,但只有上述部分不在生产数据库上执行.我在dev上使用gem’sqlite3′,’1.3.5′.和 生产中的宝石’pg’,’0.12.2′(heroku) 当我跑 git push heroku $heroku pg:reset SHARED_DATABASE --confirm myapp $heroku run rake db:migrate $heroku run rake db:populate db:populate throws an error that says **can't covert Range to Integer.** 任何想法可能是什么问题? 编辑:bid_amount的数据类型是十进制 解决方法
您的生产ruby版本不是1.9.3.大概是1.8.7
$ruby -v ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0] $irb >> rand(10000..100000) TypeError: can't convert Range into Integer from (irb):1:in `rand' from (irb):1 >> exit $rvm use 1.9.3 Using /Users/chirantan/.rvm/gems/ruby-1.9.3-p0 $irb 1.9.3p0 :001 > rand(10000..100000) => 37036 在生产中安装ruby 1.9.3并且rand方法应该按预期工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Grep命令详解-9个经典使用场景
- c# – 如何获取本地化版本的内置Windows“网络服务”帐户?
- ruby-on-rails – 如何在本地定义环境变量而不更改其定义/将
- (sqlite3.OperationalError) no such table- users [SQL- &
- android – Flutter键盘使文本字段隐藏
- postgresql – 如何从Postgres Heroku上的先前备份恢复特定
- C#使用foreach语句遍历集合类型的方法
- c# – 如何在web.config文件中表示枚举?
- 我应该使用XML中的元素还是属性?
- React-Native 0.43.4 undefined is not an object (evaluat