Ruby on rails 比较散列值
在我的Ruby on Rails应用程序中,我有以下参数:Ruby on rails 比较散列值,ruby-on-rails,ruby,hash,Ruby On Rails,Ruby,Hash,在我的Ruby on Rails应用程序中,我有以下参数: {"0"=>{"from_days"=>"1", "to_days"=>"2", "netto_price"=>"1.0", "_destroy"=>"false", "id"=>"57"}, "1"=>{"from_days"=>"3", "to_days"=>"7", "netto_price"=>"23", "_destroy"=>"false"}, "2"=>
{"0"=>{"from_days"=>"1", "to_days"=>"2", "netto_price"=>"1.0", "_destroy"=>"false", "id"=>"57"}, "1"=>{"from_days"=>"3", "to_days"=>"7", "netto_price"=>"23", "_destroy"=>"false"}, "2"=>{"from_days"=>"9", "to_days"=>"10", "netto_price"=>"123", "_destroy"=>"false"}}
现在我想检查一下:
- 1[:从\u天]>0[:到\u天]
- 2[:从_天]>1[:到_天]
- 等等
params = {"0"=>{"from_days"=>"1", "to_days"=>"2", "netto_price"=>"1.0", "_destroy"=>"false", "id"=>"57"}, "1"=>{"from_days"=>"3", "to_days"=>"7", "netto_price"=>"23", "_destroy"=>"false"}, "2"=>{"from_days"=>"9", "to_days"=>"10", "netto_price"=>"123", "_destroy"=>"false"}}
(params.keys.min..params.keys.max).each do |index|
if params[(index+1).to_s][:from_days].to_i > params[index.to_s][:to_days].to_i
# your logic when 1[:from_days] > 0[:to_days] is true
else
end
end
此代码表示您的params
hash:
- 必须包含连续键(每个键之间没有间隙)
- 必须包含具有
和[:from\u days]
键的哈希[:to\u days]
参数[index.to_s]
中添加了.to_s
,我尝试了相同的解决方案,但仍然出现了相同的错误。