class User < ActiveRecord::Base
has_one :report
has_many :invoices
end
class Report
include ActiveModel::Model
belongs_to :user
def self.monthly_sales
user.invoices.group_by { |i| i.date.beginning_of_month }
end
end
不幸的是,以上代码无法正常工作。我想访问我的报告方法,例如@user.report.monthly_sales
。我觉得我离它很近。请告诉我如何关联这两个模型。
除了关联,您可以执行以下操作:
class User < ActiveRecord::Base
has_many :invoices
def report
@report ||= Report.new(self)
@report
end
end
class Report
include ActiveModel::Model
def initialize(user)
@user = user
end
def monthly_sales
user.invoices.group_by { |i| i.date.beginning_of_month }
end
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句