Ruby on rails rails-Inheritanting类属于另一个模型

Ruby on rails rails-Inheritanting类属于另一个模型,ruby-on-rails,ruby,ruby-on-rails-4,activerecord,rails-activerecord,Ruby On Rails,Ruby,Ruby On Rails 4,Activerecord,Rails Activerecord,我正在制作一个应用程序,其中将有两种不同的产品——默认产品和用户定义产品。我试图仅将UserProducts与用户关联,而DefaultProduct不需要此字段。我在网上搜索了一段时间,但没有找到任何结论 以下是我迄今为止所做的尝试: class Product < ActiveRecord::Base validates :name, precence: true, length: { maximum: 100 } has_many :categories end clas

我正在制作一个应用程序,其中将有两种不同的产品——默认产品和用户定义产品。我试图仅将UserProducts与用户关联,而DefaultProduct不需要此字段。我在网上搜索了一段时间,但没有找到任何结论

以下是我迄今为止所做的尝试:

class Product < ActiveRecord::Base
  validates :name, precence: true, length: { maximum: 100 }

  has_many :categories
end

class DefaultProduct < Product
  def self.model_name
    Product.model_name
  end
end

class UserProduct < Product
  def self.model_name
    Product.model_name
  end

  belongs_to :user # Causes the console to spew errors
end
类产品
我怀疑使用STI是造成这个问题的主要原因,但我是Rails的新手,不知道有什么替代方法


在rails中,将另一个模型与继承模型关联的一般方法是什么?

所有子模型都保留在父表中,因此您必须在
products
表中生成
user\u id
字段,并添加
type:string
字段,以便rails使用。

所有子模型都保留在父表中,因此,您必须在
products
表中生成
user\u id
字段,并添加
type:string
字段,以便于rails使用