2013-03-23 49 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