Вопрос: Как я могу отобразить общее количество пользователей моего приложения с помощью приведенного ниже кода? Кроме того, это лучший способ сделать это или есть более простой способ отобразить данные postgresql в моем представлении?
У меня есть страница пользовательской статистики для моего приложения, и я хотел бы разработать способ отображения данных postgresql в той или иной форме. Однако, если есть лучший способ сделать это, я все слышу, поскольку в настоящее время я пытаюсь реализовать этот метод для отображения количества пользователей, использующих приложение:
Модель пользователя:
def count
user.count
end
В представлении:
<% @users.each do |user| %>
<div><%= user.count %></div>
<% end %>
Total users: <%= @users.sum(&:count) %>
Когда я загружаю представление на свой локальный сервер, я получаю сообщение об ошибке:
undefined local variable or method `user' for #<User:XXXXXXX>
Ошибка указывает на метод user.count пользовательской модели. Основываясь на этой информации, что бы вы порекомендовали лучше всего отображать информацию из моей базы данных postgresql в моем представлении? Достаточно ли метода, который я описал выше?
Если да, то как я могу исправить полученную выше ошибку? Какая еще информация вам нужна?
Привет, Марчин, я не знаю. Я нашел этот метод с помощью другого вопроса о стеке и подумал, что «count» - это встроенный метод в Ruby.





Предполагая, что ваше представление связано с действием index.
Контроллер:
def index
@users = User.all
@user_count = User.count
end
Вид:
Total users: <%= @user_count %>
Я не уверен, почему вы звоните .count каждому из своих пользователей. Похоже, вы просто хотите подсчитать количество всех пользователей в вашем приложении, которое представляет собой просто User.count (вызывается в классе User, а не в экземпляре User). Добавлены все @users, так как вы, возможно, захотите повторить и отобразить некоторые атрибуты для ваших пользователей.
(Вместо этого вы можете просто использовать @users.size в представлении, но в какой-то момент ваше приложение будет разбивать на страницы и не будет загружать всех пользователей сразу.)
У вас есть столбец
countв вашей таблицеusers?