我想调用InvoicingAndDelivery.report_lines,然后给我一系列结果,但它不起作用。有任何想法吗?
class InvoicingAndDelivery < Report
include DateExtentions
attr_accessor :report_lines, :tba_line, :sum_line
def initialize(part_or_service_ids, start_date, to_date)
# @report_lines = []
number_of_months(start_date,to_date).times do |i|
start_date = start_date + i.months
l = InvoicingAndDeliveryReport.new
l.month = start_date.strftime("%m/%Y")
l.work_profile = WorkProfileLine.delivery_amount_for_serivces_in(part_or_service_ids, start_date)
l.forecast_delivery = LineItem.forecast_delivery_amount_for_services_in(part_or_service_ids, start_date)
l.invoicing = InvoiceLine.invoices_total_for_services_in(part_or_service_ids, start_date)
l.projected_invoices = InvoiceLine.projected_invoice_total_for_services_in(part_or_service_ids, start_date)
l.costs = LineItem.costs_total_for_services_in(part_or_service_ids, start_date)
l.gross_profit = l.invoicing - l.costs
l.opportunities = LineItem.oportunities_value_for_services_in(part_or_service_ids, start_date)
# @report_lines<< l
end
@tba_line = InvoiceLine.service_type(@part_or_service).tba_lines.sum("invoice_lines.sell_price * invoice_lines.quantity").to_f
@sum_line = get_sum_line
end
答案 0 :(得分:1)
如果InvoicingAndDelivery
来自ActiveRecord::Base
,则为shouldn't override initialize
。而是将此代码放在after_initialize
。
答案 1 :(得分:1)
什么是报告?
你有可能覆盖你不应该拥有的东西......需要在初始化时调用super,或者如前所述,将其作为回调。