2010-09-07 26 views

回答

2

問題是,這兩個類別的功能是否會一樣?

如果他們這樣做,那麼我會使用一種類型的模型,即使不同的名稱會被歸因於不同的名稱。

訣竅是DRY或「不要重複自己」。因此,如果有任何事情被寫兩次,你可以絕對重構成一個較小的代碼。

+0

好吧,我想我會在類別模型中使用布爾值,profile_cat?和article_cat ?. – kelp 2010-09-07 01:36:40

+0

他們中的任何一個會共享相同的類別名稱嗎? – Trip 2010-09-07 01:58:17

+0

不,他們不會共享相同的類別名稱。 – kelp 2010-09-07 04:50:01

2

如果模型是相同的,那麼你應該使用多態關係。看到我的迴應在這裏:Rails -- How to setup model that can belong to either of 3 different models

如果不同的類別模型將需要額外的邏輯,那麼我會使用單表繼承爲此。您將擁有一個父類別類,並且ArticleCategory和ProfileCategory將從此繼承。基本上所有你需要做的就是添加一個類型字段到類別和兩個額外的類。這將消除多餘的代碼,並允許您將任何模型特定的代碼分離到適當的類中。讓我知道你是否需要額外的方向。

相關問題