我有這樣一個模型......我應該如何處理不符合請求參數的模型屬性?
Receipt
-------
amount:int # => An amount of money stored as cents.
但我有這些領域的看法...
amount_dollars
amount_cents
所以質量分配也不會在那裏工作。
處理這種情況的標準方法是什麼?你在哪裏把代碼轉換成一定數量的分值?
我有這樣一個模型......我應該如何處理不符合請求參數的模型屬性?
Receipt
-------
amount:int # => An amount of money stored as cents.
但我有這些領域的看法...
amount_dollars
amount_cents
所以質量分配也不會在那裏工作。
處理這種情況的標準方法是什麼?你在哪裏把代碼轉換成一定數量的分值?
爲amount_dollars和amount_cents添加attr_accessors。使用before_save回調來更新金額。
您可以爲視圖中的每個字段定義一個所謂的虛擬屬性。
def amount_dollars=(value)
...
end
def amount_cents=(value)
...
end
這些處理來自提交表單的值。在每種方法中,都可以適當地修改模型的金額屬性。
這是如何工作的?如果您在不知道美分應該是多少的情況下調用amount_dollars =(value),那麼您將錯誤地設置金額。 – Ethan 2009-06-28 21:27:21
+1絕對是虛擬屬性的好選擇。 – 2009-06-28 21:47:15
謝謝,這很好。 – Ethan 2009-07-01 23:42:18