我有一个YAML文件:
0:
price: 0
storage: 8
instances: 1
hours: 2
1:
price: 9.99
storage: 8
instances: 2
hours: 25
我正试图选择所有付费计划,仅限于此:
@plans = YAML.load_file("#{Rails.root}/config/plans.yml")
@paid_plans = @plans.select {|plan| plan[1]['price'] > 0}
但上面说
no implicit conversion of string into integer
我做错什么了?
最佳答案
YAML值只是字符串,因此plan[1]['price']
返回'9.99'
,因此我认为在进行比较之前,需要将值转换为数值类型例如plan[1]['price'].to_f > 0
。
关于ruby-on-rails - Ruby Hash选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32460444/