【问题标题】:Ruby on Rails: Multiple polymorphic associationRuby on Rails:多重多态关联
【发布时间】:2012-05-07 16:49:47
【问题描述】:

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

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

我正在考虑为每项服务使用一张表:翻译、咨询,其中:

has_one :request, :as => requestable

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

belongs_to :requestable, :polymorphic => true

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

【问题讨论】:

    标签: ruby-on-rails database project-management polymorphism polymorphic-associations


    【解决方案1】:

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

    requests 表中创建两列user_typeuser_id 并定义此关联:

    belongs_to :user, :polymorphic => true
    

    那么您应该可以将Collaborator 分配给Request

    Request.create!(:user => Collaborator.first)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多