#ruby-on-rails #ruby #hash #each
#рубин на рельсах #рубин #гашиш #каждый
Вопрос:
mike = {:911=gt;{"Id"=gt;"123"}} sam = {:sam_id=gt;"911", :sam_age=gt;"30", :sam_location=gt;"location", :sam_phone=gt;[{:no_1=gt;{:no_2=gt;"123"}}, {:locality=gt;"area"}]} mike.each_key do | key | final_data = sam.find { |sams_data| sams_data[:sam_id].to_s == mike[key] } end
как я могу сравнивать |sams_data| sams_data[:mike_id].to_s == mike[key]
, так mike[key]
как дает мне значение {"Id"=gt;"123"}
того ключа, который мне не нужен.
Комментарии:
1. так что на самом деле я хочу 911 от Майка = {:911=gt;{«Id»=gt;gt;»123»}}, а затем сравните его
2. Это было бы то самое
key
, приятель. Это должно сработать:sams_data[:sam_id].to_s == key.to_s.to_i
(предполагая, чтоsams_data[:sam_id]
это целое число)3. это сработало, спасибо
4. Вы не получаете сообщение об
:911
ошибке ?5. так что в реальном сенарионе у меня есть —gt; майк = {«911″=gt;gt;{«Удостоверение личности»=gt;gt;gt;»123»}} и я не получаю никаких ошибок с этим