User、Activity、ActivityRecord の 3 つのモデルがあります。
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :first_name, :last_name, :email, :gender, :password, :password_confirmation, :remember_me
# attr_accessible :title, :body
has_many :activities
has_many :activity_records , :through=> :activities
end
class Activity < ActiveRecord::Base
attr_accessible :point, :title
belongs_to :user
has_many :activity_records
end
class ActivityRecord < ActiveRecord::Base
attr_accessible :activity_id
belongs_to :activity
scope :today, lambda { where("DATE(#{'activity_records'}.created_at) = '#{Date.today.to_s(:db)}'")}
end
今日のそれぞれのアクティビティ レコードのカウントと共に、ユーザーのすべてのアクティビティをクエリしたいと思います。たとえば、クエリを実行してjson形式に変換した後、次のようなものが必要です
[
{
id: 23
title: "jogging",
point: "5",
today_activity_records_count: 1,
},
{
id: 12
title: "diet dinner",
point: "2",
today_activity_records_count: 0,
},
]
どうすればそれを達成できるか教えてください。
ありがとう