Как использовать "count" в рельсах, чтобы показать, сколько проектов / задач у пользователя?

Я определил метод 'count' в моем контроллере задач как:

def count
  @count = current_user.tasks.count
end

Я не уверен, как показать, что в моих задачах просмотров. Я просто использую Tasks count: <% @count %>? Как мне узнать, сколько задач у пользователя?

Спасибо

1 ответ

Решение

Прежде всего, методы контроллера не могут быть вызваны непосредственно внутри представлений, вместо этого вам нужно использовать вспомогательные методы, однако Rails все еще может помочь вам высушить ваш код и объявить метод в контроллере как вспомогательный метод, который можно использовать в помощниках. и мнения. Вы можете сделать это, добавив эту строку в тело контроллера Tasks:

helper_method :count

Тогда внутри вашего взгляда вы можете просто сделать

<%=count%>

Кстати, вы можете переопределить метод подсчета следующим образом:

def count
  current_user.tasks.count
end

Однако я не нахожу причину, почему вы хотите определить метод для этого в контроллере. Если бы вы были, я бы назвал это прямо в представлении:

<%=current_user.tasks.count%>
Другие вопросы по тегам