0

是否可以有多个多态关联?我解释得更好:

  1. 我有不同类型的用户:simple_user、society、collaborator、admin,它们在 db 字段和应用程序授权方面是不同的。
  2. 每个用户都可以请求某些东西
  3. 请求可以针对不同的服务:翻译、咨询等

我正在考虑为每项服务提供一张桌子:翻译,咨询,其中:

has_one :request, :as => requestable

然后只有一个表请求,其中:

belongs_to :requestable, :polymorphic => true

但是是否可以向用户表添加另一个多态关联?我怎样才能更好地处理这种关系?感谢您的任何建议

4

1 回答 1

2

是的,您可以定义多个多态关联。他们都将使用自己的数据库列。

在表中创建两列user_type并定义此关联:user_idrequests

belongs_to :user, :polymorphic => true

然后你应该能够将 a 分配Collaborator给 a Request

Request.create!(:user => Collaborator.first)
于 2012-05-07T18:04:03.047 回答