Я предполагаю, что вы имеете в виду такой хеш-код:
hash = {
items: [
{year: 2018, data: { id: 1 }},
{year: 2018, data: { id: 2 }}
]
}
Чем вы можете изменить его, например, следующим образом:
item = {year: 2019, data: { id: 2 }}
hash[:items].delete_if do |stored_hash|
stored_hash[:data][:id] == item[:data][:id]
end
hash[:items] << item
Чем это приведет к этому:
hash
=> {:items=>[{:year=>2018, :data=>{:id=>1}}, {:year=>2019, :data=>{:id=>2}}]}
Надеюсь, это ответит на ваш вопрос ...