Таблицы:Получить данные по ассоциации
User
Project has_many Results
Project has_many Data through ProjectData
Results belongs_to data, project
В Result
таблице у меня есть столбец :position
типа междунар.
Поэтому я хотел бы получить все results
с level < 50
, на самом деле значение count
.
Я имею в виду, добавив в Result класса
def get_top_level current_user
tsum = []
Project.where(user_id: current_user).each do |project|
tsum << project.results.where("level <= ?", 50).count
end
return sum(tsum)
end
Это будет работать, но я чувствую, что должно быть легко и похорошела способ сделать это.
И это нормально пользователю имя класса в представлении и передать разные значения, например:
<%=Results.get_top_level(current_user)%>
Или
<%[email protected]_top_level(current_user)%>
Если ни один из них не является хорошей практикой, вы можете помочь я с альтернативным решением для этого.
спасибо.
Да, у пользователя много проектов. – user2983193
Что делать, если я хочу проверить уровень <50 и уровень <40 и уровень <30. Большое спасибо. – user2983193