2011-05-27 64 views
0

我有以下型號:用戶,視頻,事件,照片。這些模型是分開的。用這種設計的STI或Polymorphic方法?

另一方面,我有這些模型:喜歡,評論,參加。

基本上是:

  1. 用戶可以喜歡的,評論視頻照片的事件。
  2. 用戶可以參加一個活動。

應該喜歡,評論,參加是否遵循STI方法並從另一個名爲Interaction的類繼承?

或者我應該遵循多態方法嗎?

如果是STI,我是否應該擔心Interaction模型的填充次數是Like,Comment和Attend的三倍?我應該擔心有一天這個模型會「超載」嗎?

你對此有何看法?

回答

0

我認爲你的案例可以用多態性很好地解決,'喜歡'與視頻,事件和照片具有多態關係。參加和活動應該分開。

這應有助於:http://railscasts.com/episodes/154-polymorphic-association

+0

只是好奇,爲什麼你只建議喜歡被多態,而不是出席並發表評論。任何具體原因? – 2011-05-28 05:04:16

+0

那麼,'參加'只適用於事件,所以我不確定是否有必要在那裏有多態性。我之前沒有注意到,但「評論」可能也是一種多態,正如我在鏈接的視頻中所解釋的那樣。 – bruno077 2011-05-28 19:22:05