【问题标题】:Rails: set up polymorphic associations for two user typesRails:为两种用户类型设置多态关联
【发布时间】:2019-03-02 05:52:02
【问题描述】:

我开始在 Rails 中为我的论文编写一个类似链接的网站,使成员能够发布工作机会(雇主)和其他成员(雇员)来回应他们。

我一直试图围绕数据模型和关联进行思考 - 因为我不想为雇主和 Yees 提供两个身份验证通道 - 我想将电子邮件、昵称和密码保存在一个表中(模型) 并将其用于登录,然后从那里转到雇主和员工的特定数据。

我正在阅读有关 STI 的信息,但我认为 Yer 的数据与 Yee 非常不同,并且用户表中会有很多空值,我认为这不是一个最佳选择。

然后我偶然发现了多态关联,但我真的不知道如何设置它们。 我在想这样的事情:

User < ApplicationRecord
  has_one :employer, polymorphic: true
  has_one :employee, polymorphic: true
end

Employee < ApplicationRecord
end

Employer < ApplicationRecord
end

我的脑袋沸腾了,因为我不知道实现这一目标的最佳方法是什么,非常感谢任何提示, 干杯

【问题讨论】:

    标签: ruby-on-rails authentication ruby-on-rails-5 polymorphic-associations user-roles


    【解决方案1】:

    这里不需要使用多态关联。

    User < ApplicationRecord
      has_one :employer
      has_one :employee
    
      def employer?
        employer.present?
      end
    
      def employee?
        employee.present?
      end
    end
    

    但不确定这是否是您的最佳解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 1970-01-01
      相关资源
      最近更新 更多