【发布时间】:2014-06-18 09:26:49
【问题描述】:
我有两个模型:
model/user.rb
class User < ActiveRecord::Base
has_many :points, dependent: :destroy
end
model/point.rb
class Point < ActiveRecord::Base
belongs_to :user
end
我想创建一个 scope 来计算特定用户拥有的点数。
sql 如下所示:
SELECT SUM(p.amount) FROM users AS u LEFT JOIN points AS p ON p.user_id = u.id 其中 u.id = 121;
范围可以像这样从用户控制器调用:
@total_points = @users.total_points(params[:user_id]) if params[:user_id].present?
有什么想法吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4