Các đá quý vết đen mặt trời cho Solr có một phương pháp mà đòi hỏi một khối với 2 yếu tố:Tiêm với nhiều tham số khối
search.each_hit_with_result do |hit,result|
và tôi đang sử dụng nó để xây dựng một băm mới của kết quả như sau:
results = Hash.new
search.each_hit_with_result do |hit,result|
results[result.category.title] = hit.score
end
Điều này là tuyệt vời và tất cả mọi thứ nhưng tôi không thể không nghĩ rằng có một cách 'ruby' hơn để làm điều đó và tôi đã nhìn vào phương pháp tuyệt vời inject
. Tôi nghĩ rằng một cái gì đó như sau nên có thể nhưng tôi không thể làm cho nó hoạt động cú pháp. Bất cứ ai có bất kỳ ý tưởng?
search.each_hit_with_result.inject({})
{|newhash,|hit,result||newhash[result.category.title]=hit.score}
Tìm kiếm bản đồ thành một mảng tiêu đề và ghi 2 mảng phần tử, sau đó sử dụng 'Hash [foo]' trên mảng mảng đó. Tôi sẽ viết điều này như một câu trả lời đúng vào ngày hôm nay. –
Nevermind, tokland đánh tôi với nó! –