1
У меня есть некоторый код запах здесь:Средние несколько атрибутов из ассоциированной модели
f.series(:name=>'Average review', :data=> [
Integer(@review.style.reviews.average(:answer01).to_f*20),
Integer(@review.style.reviews.average(:answer02).to_f*20),
Integer(@review.style.reviews.average(:answer03).to_f*20),
Integer(@review.style.reviews.average(:answer04).to_f*20),
Integer(@review.style.reviews.average(:answer05).to_f*20),
Integer(@review.style.reviews.average(:answer06).to_f*20),
Integer(@review.style.reviews.average(:answer07).to_f*20),
Integer(@review.style.reviews.average(:answer08).to_f*20),
Integer(@review.style.reviews.average(:answer09).to_f*20),
Integer(@review.style.reviews.average(:answer10).to_f*20),
]
Может кто-нибудь посоветовать на лучший способ справиться с этим в одном запросе DB?
Не ответ на ваш вопрос, ошибка ': data => (0..10) .map {| i | Integer (@ review.style.reviews.send (: average,: "answer # {i.to_s.rjust (2, '0')}". To_f * 20)} 'позволяет вам меньше повторений :) – pierallard