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

StackOverflow https://stackoverflow.com/questions/1965641

Вопрос

Я определил метод '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%>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top