问题:如何使用以下代码显示应用程序的总用户数?另外,这是最好的方法吗,还是有一种更简单的方法可以在我的视图中显示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数据库向视图显示信息的最佳方法?我上面描述的方法是否足够?
如果是这样,我该如何解决上面获得的错误?您还需要什么其他信息?
答案 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
,但是有时您将在应用程序中进行分页,并且不会一次加载所有用户。)