【问题标题】:Rails use model in the same namespace for belongs_to reference, how to reference model from outsideRails 使用同一命名空间中的模型作为 belongs_to 引用,如何从外部引用模型
【发布时间】:2018-11-09 02:19:22
【问题描述】:

我正在开发一个 Rails 应用程序,目前我们按模块构建应用程序。目前我们有 2 个独立的用户模型:UserFreight::Customer::User

我有一个新模型Freight::Customer::MembershipStatus 看起来像这样:

class Freight::Customer::MembershipStatus < ActiveRecord::Base

  belongs_to :customer, class_name: 'Freight::Customer'
  belongs_to :created_by, class_name: 'User'

  validates :from, presence: true
  validates :to, presence: true
  validates :customer, presence: true
  validates :status, presence: true
end

在这种情况下,created_by 是对User 的引用。但是当代码运行membership_status.created_by时,rails会尝试寻找Freight::Customer::User,我认为这是因为Rails首先尝试在同一个模块中寻找模型。

有没有办法将此模型配置为使用外部 User 模型类?

【问题讨论】:

    标签: ruby-on-rails activerecord module


    【解决方案1】:

    你可以使用这种类型获取用户类,试试这个。

    class Freight::Customer::MembershipStatus < ActiveRecord::Base
    
      belongs_to :customer, class_name: 'Freight::Customer'
      belongs_to :created_by, class_name: '::User'
    
      validates :from, presence: true
      validates :to, presence: true
      validates :customer, presence: true
      validates :status, presence: true
    end
    

    【讨论】:

    • 谢谢,它对我有用,一直在寻找这个
    猜你喜欢
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 2012-09-10
    相关资源
    最近更新 更多