这似乎是一件简单的事情,但我无法弄清楚。
ascorecard
有 a skills_development
,其中有很多training_programs
,其中有很多participants
。每个参与者都有一个名为 training_facility_cost 的属性,我需要将其提升一个级别并找出整个 training_program 的设施成本。
因此,将每个孩子参与者的所有设施成本属性相加。解决此类问题的最佳方法是什么。我应该在 sql 查询中执行此操作还是使用嵌套块更有效。
就像是
s.skills_development.training_programs.each do |tp|
costs = []
tp.participants.each {|p| costs << p.training_facility_cost}
costs.inject(:+)
end
虽然我明白了,但这不起作用
NoMethodError: undefined method `+' for nil:NilClass
,我认为这是因为它们都具有 null 的属性。所以它不把它算为零??
有谁知道如何快速简单地做到这一点?