我有一個產品表的視圖,其中每個產品都有成本和價格的值。我想計算並顯示每種產品的銷售利潤率,並在表格上方放置所有產品的平均利潤率。如何使用rails的計算工作
我在哪裏進行計算?而且,如何處理交叉引用和重複的計算,我是否應該以某種方式存儲這些值?
我有一個產品表的視圖,其中每個產品都有成本和價格的值。我想計算並顯示每種產品的銷售利潤率,並在表格上方放置所有產品的平均利潤率。如何使用rails的計算工作
我在哪裏進行計算?而且,如何處理交叉引用和重複的計算,我是否應該以某種方式存儲這些值?
把計算值在你的模型方法:
def margin
price - cost
end
然後,你可以直接在視圖中使用邊距值。
對於所有產品,定義'self.average_margin'包含諸如'(sum(:price) - sum(:cost))/ size'之類的東西,除非它必須考慮銷售額,否則它將起作用。 –
這取決於您是否僅在視圖中使用這些計算。如果他們代表在其他地方使用的業務邏輯 - 模型是一個正確的地方。如果不是 - 助手會是一個更好的地方(或考慮使用裝飾者/演示者)
+1因爲這通常是很好的建議,但我會盡量避免裝飾者或助手,直到事情變得混亂。您可能想要進入控制檯並輕鬆地排除故障,並直接在模型上使用此邏輯將會使這一過程變得輕鬆。這顯然取決於應用程序的大小,模型等,但我更喜歡將邏輯放在一個地方。 –
你是如何建模你的產品? –
這是在理解所寫語言之前嘗試學習框架時發生的情況。 –
回答的人缺少問題的第二部分,你如何處理相當嵌套計算的情況? @tereško我無法看到固體紅寶石的知識會在這裏給我指導,請賜教。 –