Questo potrebbe essere un allungamento molto lungo, ma renderebbe la vita un po 'più facile se esistesse.Equivalente matrice ruby di record.where attivo (criteri)
Ecco lo scenario in ogni caso. Ho una serie di hash con una chiave il cui valore è un altro hash ........ Sì, lo so.
Heres una spiegazione migliore:
@myArrayOfStuff[0]
@myArrayOfStuff[0]["single-key"]
@myArrayOfStuff[0]["single-key"]["object-identifier"]
La prima restituisce un hash. Il secondo restituirebbe un oggetto (chiamato pagina nel mio caso ma l'esempio usa nomi diversi) Il terzo restituisce qualunque variabile abbia riferimento come identificatore di oggetto.
Abbastanza semplice.
Quello che mi piacerebbe fare è selezionare un altro array in cui il valore degli identificatori di oggetto non è nullo o è maggiore di x. Qualcosa di simile al metodo activerecord.where.
@x = @myArrayOfStuff.where(["single-key"]["object-identifier"]) > 3orwhatever
Ovviamente questo non funziona in quanto la sintassi è allettante. Ma c'è un altro modo di affrontarlo? Un altro percorso da provare potrebbe essere quello di ordinare l'array con questa variabile. Qualcosa come
@x = @myArrayOfStuff.sort {|x,y| y <=> x }
Tuttavia non capisco davvero che cosa sta succedendo con il metodo di ordinamento di Ruby. Qualcuno può aiutare?
http://stackoverflow.com/questions/2637419/understanding-ruby-array-sort la lettura di questo ora, ma ancora non è sicuro se si applica a quello che sto cercando di fare – overtone