在我的rails应用程序中,我有一个Jobs模型。在Jobs模型中,Job记录中有三个单独的字段,我想要求和 - cabinetry_cost,counter_top_cost和install_cost。
为此,我在我的工作模型中有以下方法:
def revenue
job_by_id = Job.find(params[:id])
revenue = job_by_id.sum(:cabinet_cost + :counter_top_cost + :install_cost)
end
在我看来,我调用的方法如下(使用下面的job.revenue):
<% @customer.jobs.each do |job| %>
<tr>
<td><%= link_to job.id, customer_job_path(@customer, job) %></td>
<td><%= job.job_tag %></td>
<td></td>
<td><%= job.install_date %></td>
<td><%= job.revenue %></td>
</tr>
<% end %>
目前,我收到以下错误:
undefined local variable or method `params'
有谁知道我错过了什么?
答案 0 :(得分:2)
您不需要对模型中的任何内容求和,只需添加它们即可。
Class Job < ActiveRecord::Base
def revenue
cabinet_cost + counter_top_cost + install_cost
end
end
params
是来自您视图的变量,应该在您的控制器中使用,而不是在您的模型中使用。您应该先退一步,先了解一下Rails框架。