0

İki farklı ürün türü olacak bir uygulama yapıyorum - varsayılan ve kullanıcı tanımlı. Bir UserProducts'ı bir kullanıcıyla ilişkilendirmeye çalışıyorum, bir DefaultProduct ise bu alana gerek duymayacaktır. Bir süreliğine internete baktım ama sonuç bulunamadı. Ben STI kullanarak zanlısı sorununa büyük bir katkıda bulunuyor, ancak Raylar ve alternatiflerin bilmiyorum yeni değilimraylar - Kalıtım sınıfı başka bir modele ait

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 

:

Ben bugüne kadar denedim denemesi.

Bir modelin raylarda kalıtım modeliyle ilişkilendirilmesinin genel yolu nedir?

cevap

2

Tüm alt modeller üst tablada kalır, bu nedenle user_id alanını products tablosunda oluşturmalı ve ayrıca raylar için type:string alanını eklemelisiniz.

+0

Bu işe yaradı. Teşekkür ederim! –

İlgili konular