1

我是 Rails 新手,但在 django 中开发了很多应用程序。Django 提供了一个内容类型框架,该框架为每个模型创建一个具有唯一 ID 的表,从而可以使用object id和 引用来自多个表的对象content-type id。(有关内容类型框架的更多信息

这非常有帮助,因为现在我可以只用一张桌子来做投票之类的事情,而不是像可以投票的东西一样多的桌子(比如question_votes, answer_votes, comment_votes, post_votes)。此外,如果出现需要投票的新类型,blogs您不必创建新表blog_votes。所以这让生活变得轻松。

我的问题是,是否有一个框架/宝石对 Rails 有同样的作用?

谢谢,

4

2 回答 2

1

多态关联解决了这个问题

于 2013-10-15T16:01:07.810 回答
1

正如评论者已经指出的那样,您可能需要多态关联。考虑这个例子:

class Vote < ActiveRecord::Base
  belongs_to :voteable, polymorphic: true
end

class User < ActiveRecord::Base
  has_many :votes, as: :voteable
end

class Product < ActiveRecord::Base
  has_many :votes, as: :voteable
end

更多信息在这里: http: //guides.rubyonrails.org/association_basics.html#polymorphic-associations

于 2013-10-15T16:03:02.147 回答