我有一个Rails 4应用程序,收集参加教堂服务.有些星期有两种服务,有些星期只有一种.我需要获得每周的总出勤率并将其显示为图表.
致电:
Stat.calculate(:sum, :attendance, group: :date)
Run Code Online (Sandbox Code Playgroud)
在控制台中,我已经能够以这样的方式收集数据:
{Sun,2013年1月6日=> 66,Sun,2013年1月13日=> 65,Sun,2013年1月20日=> 60,Sun,2013年1月27日=> 67,Sun,2013年2月3日=> 60,Sun,2月10日2013 => 76,太阳,2013年2月17日=> 65,太阳,2013年2月24日=> 52,太阳,2013年3月3日=> 52,太阳,2013年3月10日=> 45,太阳,2013年3月17日=> 56,太阳,2013年3月24日=> 134,太阳,2013年3月31日=> 76,太阳,2013年4月7日=> 88,太阳,2013年4月14日=> 87,太阳,2013年4月28日=> 93,太阳,2013年5月5日=> 93,Sun,2013年5月12日=> 95,Sun,2013年5月19日=> 90,Sun,2013年5月26日=> 87,Sun,2013年6月2日=> 71,Sun,2013年6月9日=> 86,Sun ,2013年6月16日=> 109,太阳,2013年6月23日=> 80,太阳,2013年6月30日=> 68,太阳,2013年7月7日=> 75,太阳,2013年7月14日=> 73}
但我的图表需要的是一系列哈希形式:
{日期:"太阳,2013年6月23日",出席率:80},{日期:"太阳,2013年6月30日",出席率:68"}
所以我想弄清楚如何将第一种形式转换为第二种形式.
我确信它的东西非常简单,但我的有限的铁轨知识正在撞墙.
我有一个友好的模型,但是当我在我的用户/节目视图中包含此代码时,我得到了这个不需要的结果:
Friends
Dave Olson, accepted
[#<Friendship id: 74, user_id: 1, friend_id: 2, status: "accepted", created_at: "2014-03-27 03:54:08", updated_at: "2014-03-27 03:54:09">]
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么额外的哈希打印出来.
这是我的观点中的代码:
<h3>Friends</h3>
<%= @user.friendship.each do |friendship| %>
<p><%= friendship.friend.name %>, <%= friendship.status %></p>
<% end %>
Run Code Online (Sandbox Code Playgroud)
用户模型是:
class User < ActiveRecord::Base
rolify
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :invitable, :database_authenticatable, :registerable, :confirmable,
:recoverable, :rememberable, :trackable, :validatable
has_many :items
has_many :friendship
end
Run Code Online (Sandbox Code Playgroud)
以及我的友谊模型的相关部分:
class Friendship < ActiveRecord::Base
belongs_to :user
belongs_to :friend, …Run Code Online (Sandbox Code Playgroud)