求和子对象导轨4.0

时间:2014-05-25 20:58:51

标签: ruby-on-rails children

我有一个模型任务订单,其中有很多发票。我的任务订单属性之一是“总发票”。我的一个发票属性是“金额”。我想要一个Total Invoiced =“Amount”总和的关系。我希望它显示在我的task_order / index页面中。这是我的任务顺序索引控制器:

def index
 @task_orders = TaskOrder.all
 @invoices = @task_order.invoices
 @task_order.invoicedAmount = @task_order.invoices.sum(:amount)
end

我收到nil的错误未定义方法`发票':NilClass

我想提一下我在task_order / show中的代码有效:

def show
  @invoices = @task_order.invoices
  @task_order.invoicedAmount = @invoices.sum(:amount)
end

作为一个后续问题,我比使用Active Record查询更熟悉SQL查询。有人能指点我如何呈现纯SQL查询的结果吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

您的index方法不起作用,因为您从@invoices获得@task_order.invoices,但您声明@task_orders。注意单数与复数的区别。