2016-04-01 23 views
0

İki modelim var (Müşteri, Ürün). Has_one ilişkisi ile ilişkilidir. Şu anda buRaylarda nesne nitelikleri olarak değişken

@customer = Customer.first 
@customer.product.name 

Bu çıktıyı, ürünün adını yapıyorum ve bu gayet güzel çalışıyor. Şimdi böyle bir şey istiyorum istiyorum gibi daha önce gibi ürün adı çıktı gerekir. Bunu nasıl başarabilirim?

cevap

0

Sen tipleri [:active, :sold, :not_active] varsayarak ile deneyebilirsiniz ürünler

class Customer < ActiveRecord::Base 
    has_one :product 
    [:active, :sold, :not_active].each do |type| 
     define_method "#{type}" do 
     product.where(type: type).first 
     end 
    end 
end 
Şimdi

@customer.active.name

veya @customer.sold.name satılan (tip) Ürün adı

vermek aktif (tip) ürün adı vermek türleridir

veya @customer.not_active.name, bu tür etkin (tür) ürün adı

verin. Ou,

'a gereksiniminiz olan diğer tüm türleri tanımlayabilir ve arayabilir
İlgili konular