Ora sto provando per alcune ore a rimuovere una chiave hash nidificata di un elenco hash. Ho visto molti soluzione non annidata hashs Wich si presenta così:Come rimuovere le chiavi annidate da un elenco hash in Rails
sample_hash = {"key1" => "value1", "key2" => "value2"}
sample_hash.except("key1")
Questo si traduce in:
{"key2"=>"value2"}
Ma se provo ad usare l'eccezione di metodo su un hash con chiave nidificato allora doesn lavorare Ecco il mio codice:
nested_hash = {"key1"=>"value1", "key2"=>{
"nested_key1"=>"nestedvalue1",
"nested_key2"=>"nestedvalue2"
}
}
nested_hash.except("nested_key2")
L'eccezione() restituisce il nested_hash senza alcuna modifica. Ho cercato una soluzione su come posso passare le chiavi hash annidate al metodo except, ma non ho trovato nulla. È persino possibile passare le chiavi nidificate a questo metodo o dovrei usare qualche altro metodo che cancella una chiave hash nidificata dal mio elenco hash?
Forse vuoi un vero albero, piuttosto che un hash annidato. Potresti consultare https://github.com/evolve75/RubyTree, https://github.com/stefankroes/ancestry o https://github.com/mceachen/closure_tree per le gemme che potrebbero funzionare per te. –