【发布时间】:2016-04-11 15:28:44
【问题描述】:
将我的控制器 (Invoices) 中的方法移动到相应的模型中,但我遗漏了一些东西。我试过关注this 和this 甚至this,我遇到了一些小问题,我需要多加注意。
我的工作控制器方法是这样的。
def array_of_disbursable_invoices
sql = "SELECT MIN(departure_date), ch_invoice.invoice_id
FROM ch_invoice
INNER JOIN ch_trip
ON ch_invoice.invoice_id = ch_trip.invoice_id
WHERE departure_date <= (SELECT SYS_EXTRACT_UTC(SYSTIMESTAMP)FROM DUAL)
AND service_rendered = 0
AND paid = 1
Group By ch_invoice.invoice_id"
report = ActiveRecord::Base.connection.exec_query(sql)
render json: report
end
我正试图把它变成这个。
def array_of_disbursable_invoices
report = report.array_of_disbursable_invoices
render json: report
end
这里有我模型中的逻辑。
def array_of_disbursable_invoices
sql = "SELECT MIN(departure_date), ch_invoice.invoice_id
FROM ch_invoice
INNER JOIN ch_trip
ON ch_invoice.invoice_id = ch_trip.invoice_id
WHERE departure_date <= (SELECT SYS_EXTRACT_UTC(SYSTIMESTAMP)FROM DUAL)
AND service_rendered = 0
AND paid = 1
Group By ch_invoice.invoice_id"
ActiveRecord::Base.connection.exec_query(sql)
end
当前错误信息
nil:NilClass 的未定义方法 `array_of_disbursable_invoices'
【问题讨论】:
标签: ruby-on-rails ruby model controller refactoring