如何将数据从Postgresql数据库显示到视图

时间:2018-12-24 00:51:40

标签: ruby-on-rails

问题:如何使用以下代码显示应用程序的总用户数?另外,这是最好的方法吗,还是有一种更简单的方法可以在我的视图中显示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数据库向视图显示信息的最佳方法?我上面描述的方法是否足够?

如果是这样,我该如何解决上面获得的错误?您还需要什么其他信息?

1 个答案:

答案 0 :(得分:0)

假设您的视图已连接到index操作。

控制器:

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

查看:

Total users: <%= @user_count %>

我不确定您为什么要在每个用户上拨打.count。看来您只想对应用程序中的所有用户进行计数,这只是User.count(在User类上调用,而不是User实例)。添加了所有@users,因为您可能希望对其进行迭代并为用户显示一些属性。

(您可以只在视图中使用@users.size,但是有时您将在应用程序中进行分页,并且不会一次加载所有用户。)