La gema de manchas solares de Solr tiene un método que requiere un bloque con 2 elementos:Inyectar con múltiples parámetros de bloque
search.each_hit_with_result do |hit,result|
y lo estoy usando para construir una nueva almohadilla de los resultados, así:
results = Hash.new
search.each_hit_with_result do |hit,result|
results[result.category.title] = hit.score
end
Esto es genial y todo, pero no puedo dejar de pensar que hay una forma más 'ruby' de hacerlo y he estado mirando el impresionante método inject
. Creo que algo como lo siguiente debería ser posible, pero no puedo lograr que funcione sintácticamente. ¿Alguien tiene alguna idea?
search.each_hit_with_result.inject({})
{|newhash,|hit,result||newhash[result.category.title]=hit.score}
Busque en el mapa una matriz de títulos y obtenga 2 matrices de elementos, y luego use 'Hash [foo]' en esa matriz de matrices. Escribiré esto como una respuesta adecuada más adelante hoy. –
¡Nevermind, tokland me ganó! –