Как вывести данные из базы данных Postgresql в представление

Вопрос: Как я могу отобразить общее количество пользователей моего приложения с помощью приведенного ниже кода? Кроме того, это лучший способ сделать это или есть более простой способ отобразить данные 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 в вашей таблице users?

Marcin Kołodziej 24.12.2018 01:55

Привет, Марчин, я не знаю. Я нашел этот метод с помощью другого вопроса о стеке и подумал, что «count» - это встроенный метод в Ruby.

KuroGane 24.12.2018 01:57
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
96
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Предполагая, что ваше представление связано с действием index.

Контроллер:

def index
  @users = User.all
  @user_count = User.count
end

Вид:

Total users: <%= @user_count %>

Я не уверен, почему вы звоните .count каждому из своих пользователей. Похоже, вы просто хотите подсчитать количество всех пользователей в вашем приложении, которое представляет собой просто User.count (вызывается в классе User, а не в экземпляре User). Добавлены все @users, так как вы, возможно, захотите повторить и отобразить некоторые атрибуты для ваших пользователей.

(Вместо этого вы можете просто использовать @users.size в представлении, но в какой-то момент ваше приложение будет разбивать на страницы и не будет загружать всех пользователей сразу.)

Другие вопросы по теме