Как использовать “count” в rails, чтобы показать, сколько проектов / задач у пользователя?
-
21-09-2019 - |
Вопрос
Я определил метод 'count' в моем контроллере задач как:
def count
@count = current_user.tasks.count
end
Я не уверен, как показать это в моих представлениях о задачах.Должен ли я просто использовать Tasks count: <% @count %>
?Как мне получить представление о том, сколько задач у пользователя?
Спасибо
Решение
Прежде всего, методы контроллера не могут вызываться непосредственно внутри представлений, вместо этого вам нужно использовать вспомогательные методы, однако Rails все еще может помочь вам высушить ваш код и объявить метод в контроллере в качестве вспомогательного метода, который можно использовать в помощниках и представлениях.Вы можете сделать это, добавив эту строку в тело Tasks controller:
helper_method :count
Тогда внутри вашего представления вы можете просто сделать
<%=count%>
Кстати, вы можете переопределить метод подсчета следующим образом:
def count
current_user.tasks.count
end
Однако Я не нахожу причины, по которой вы хотите определить метод для этого в контроллере.На вашем месте я бы назвал это непосредственно в представлении:
<%=current_user.tasks.count%>