假設您有幾個模型包含地址,郵政編碼,省/國家/地區,電話號碼等字段。在rails中重構驗證邏輯和正則表達式的最佳方式是什麼?
這些是具有特定正則表達式驗證的相當常見的字段。如果您在每個模型中放入相同的驗證和正則表達式,它將被複制。此外,測試是重複的。這是一種氣味;)
什麼是使用ruby和rails來重構這些類型的東西的最佳方法?一個模塊?在使用Hibernate的Java中,我們使用Component類來存儲地址,然後我們將驗證邏輯放在那裏。每個想要使用地址的模型都只包含一個地址,它將獲得所有的地址驗證邏輯。
什麼是在軌道中實現相同的東西的方法?謝謝!
你的模塊想法似乎對我來說很重要。我將創建一個具有適當功能的模塊,然後將其混合。 – 2011-05-10 02:32:43
您也可以考慮將地址列移動到單獨的表中並使用多態關聯(即'belongs_to:addressable,:polymorphic => true') – zetetic 2011-05-10 02:38:58
甚至可能想創建自己的類,而不是一個模塊。 – 2011-05-10 03:00:15