2013-03-23 54 views
4

我是一個Rails新手,很難理解使用關聯外鍵對多個belongs_to聲明使用多態關聯的好處。在Ryan Bates的railscast(http://railscasts.com/episodes/154-polymorphic-association-revised),例如,文章事件照片每個人都可以有很多評論,因此他建立使用commentable多態關聯。多態關聯是否必要?

爲什麼不只是有意見屬於每個其他三個資產,包括article_id的事項標識photo_id在其表外鍵只有一個將非空?

回答

6

你可以這樣做,但會有缺點。有些,我能想到的:有許多空

  • 的擔憂沒有分離

    1. 疏表。評論必須改變,只要你添加一個可評論的模型

    2. Rails已經支持多態關聯,並使它們很容易使用它們。那爲什麼不呢?

  • +0

    謝謝。我沒有想到分離關注。 (對不起,我沒有足夠的代表投票。) – mcoomey 2013-03-23 20:19:17