# total_points 是一个包含“total_earned_points”列的总计表。
module MyModel::UserExtension
def self.prepended(base)
base.has_many :user_points, class_name: 'MyModel::UserPoint'
base.has_one :total_point, class_name: 'MyModel::TotalPoint'
end
end
reloadable_patch do |plugin|
User.class_eval { prepend MyModel::UserExtension }
end
add_to_class(:user, :total_earned_points) do
# self.user_points.sum(:reward_points)
self.total_point[:total_earned_points]
end