У меня есть приложение для авторов и рецензентов.Недавно я добавил функцию, с помощью которой модератор может голосовать за отзывы как за полезные или не полезные, которая определяет оценку рецензента (чтобы контролировать свои отзывы).У меня есть модель обзора с полезными и not_helpful в качестве логических столбцов на таблице, установленной в false по умолчанию.Когда модератор щелкает ссылку в обзоре, показывает, было ли это полезно или не полезно, а затем обновляет логическое значение до true для этой записи обзора.Я пытаюсь построить оценочную карту в профиле этого рецензента, где я использую математику, чтобы вычесть non_helpful отзывы из общего количества отзывов для пользователя, а затем разделить эту сумму на общее количество отзывов, чтобы получить процент для оценки этого рецензента.По сути, когда их обзоры бесполезны, это знак против них, и это все равно, что неправильно задать вопрос на тесте.Таким образом, из всех отзывов мы хотим вычесть все бесполезные отзывы из общего количества отзывов, взять этот ответ и разделить его на общее количество отзывов, чтобы получить их оценку.Пока у меня есть это:
users_controller.rb
def profile
@current_user = current_user
@helpful = current_user.reviews.where(helpful: true)
@unhelpful = current_user.reviews.where(unhelpful: true)
@reviews = current_user.reviews
unhelpful = @unhelpful.count
total = @reviews.count
subtotal = total - unhelpful
@score = subtotal / total
end
profile.html.erb
Добро пожаловать рецензент,
<h2>How I'm doing</h3>
<table>
<th>Total Reviews</th>
<th>Helpful Reviews</th>
<th>Unhelpful Reviews</th>
<th>Score</th>
<tr>
<td><%= current_user.reviews.count %></td>
<td><%= @helpful.count %></td>
<td><%= @unhelpful.count %></td>
<td><%= number_to_percentage(@score * 100, precision: 0)
%></td>
</tr>
</table>
У меня есть 'никогда не делали simpe ruby math с операторами и установкой переменных для активных объектов записи и подсчетом вызовов до них, так каков правильный способ сделать это?Прямо сейчас оценка пользователя составляет 0%, что не правильно, лол, потому что текущий рецензент, на котором я вошел, имеет 4 всего отзывов, 2 полезных и 2 бесполезных, которые должны дать им оценку 50% в соответствии с оценочной системой I 'я пытаюсь достичь