我已经尝试了一百万种方法,但我无法弄清楚,
如何从视图中访问以下方法的数量和创建日期(即在模型中)?
def self.groupit
group("hour(created_at)").select("count(*) as quantitymy, hour(created_at) as createddate")
end
我确定我做错了,组的东西也不起作用,有人可以帮忙吗?谢谢 :)
更新:我有一个用户模型、一个组模型和一个帖子模型。
用户属于一个组,帖子属于用户。帖子仅通过用户属于组。
我试图显示组中发布的所有帖子,按时间分组。所以应该是
Group 1: 1 post at 13:00, 5 posts at 14:00
Group 2: 17 posts at 12:00, 1 post at 13:00, 2 posts at 14:00
等等
我通过控制器将其显示为:
@groups = Group.all
然后在视图中遍历它们:
<% @groups.each do |g| %>
<% if g.posts.exists? %>
<tr>
<td><b><%= g.name %></b>;
<%= g.posts.count %> posts
<% g.posts.each do |post| %>
<%= post.created_at.strftime("%H") %>:00;
<% end %>
</td>
<% else %>
<% end %>
</tr>
<% end %>
更新 2/答案:
<% @groups.each do |g| %>
<% if g.posts.exists? %>
<tr>
<td><b><%= g.name %></b>;
<%= g.posts.count %> posts
<% g.posts.group("hour(posts.created_at)").count("hour(posts.created_at)").each do |created_at, quantitymy| %>
<%= created_at %>; <%= quantitymy %>
<% end %>
</td>
<% else %>
<% end %>
</tr>
<% end %>