我有这个类和里面的这些方法。
class Purchase < ActiveRecord::Base
belongs_to :user
belongs_to :price
belongs_to :unit_price
scope :today, lambda { joins(:unit_price, :price).
where(:prices => { :date => Date.today },
:unit_prices => { :date => Date.today } ) }
# not working
def total
self.price.sum(:amount) + self.unit_price.sum(:amount)
end
end
当我尝试像这样使用我的范围链时:
<%= current_user.purchases.today.map(&:total) %>
它给了我一个空的 Array 结果[]
。我真的很想这样做。
<%= number_to_currency(current_user.purchases.today.map(&:total)) %>
但这对于发生此错误也不起作用。
undefined method `to_f' for []:Array
为什么它会空着回来?
谢谢。