6
我需要在我的Rails應用中使用一個百分比。在任何視圖中,包括用戶輸入時的格式都需要爲數百格式100.000
。當它用於計算時,它需要以百分之一的格式表示,1.00000
。在Rails + MySQL中存儲一個百分比
我的遷移(我添加的列到現有的表)具有以下行:
add_column :worker, :cash_split, :decimal, :precision => 6, :scale => 5
因此,截至目前,我將其存儲在百分之一(1.00000
)格式。我選擇以這種格式存儲它的基礎是,當我需要進行乘法運算時,我認爲這將意味着更乾淨的業務邏輯(即沒有0代碼掛起)。
我唯一的想法可能是濫用composed_of方法。我可以將數據以數百(100.000
)格式存儲爲cash_split,然後創建一個屬性訪問器cash_split_percentage
,它的1.0000格式副本返回cash_split
。
你將如何處理表格中的百分比?用戶需要輸入45%,但應該保存爲0.45。儘管如此,如果用戶輸入其他域錯誤並且表單被重新渲染,百分比字段應該有45而不是0.45。有了這個我想說,回調可能不是最終的解決方案。 –
您可以爲數百種格式的百分比編寫getter和setter。所以你將擁有#some_ratio屬性和#some_ration_percentage&#some_ration_percentage =這些屬性,它們只會分割/乘以100,然後繼續前進。 – Emirikol