1
我有一個方法來歸納作者所欠的一些數據。在Ruby on Rails中從模型中的方法返回數組3
它的工作原理是這樣的:
calculate_royalty(object_id)
現在,我使用它在一個視圖中,並通過每個作者的產品循環和吐出一個數字。像這樣:
<%= @author.products.each do |product| %>
<%= @author.calculate_royalty(product.id) %>
<% end %>
現在,這給了我一個數字。我一直試圖做的是將所有這些數字加載到我的模型中的數組中,這樣我就可以完成它們。 I trid this:
def total_author_royalties
products do |p|
calculate_royalty(p.id)
end
end
但是該數組只是作爲該作者的產品對象的散列值返回。我想,一旦我有數組中的值,我可以使用Array.inject將它們全部添加。
這工作非常出色。爲什麼地圖在這種情況下是合適的選擇,而不是.inject? – Slick23 2011-01-22 23:20:34