2016-04-14 75 views
0

modelinin seçeneklerini uygula, garip sesler geliyor, bu yüzden benim sorunum ... Basit bir uygulama yapıyorum - Kullanıcıların siparişlerine göre arabalarına ekleyebileceği has_many yemekleri olan bir restoran modelim var. bir yemek kimliği ve bir miktar). Şimdi, yemeklere seçenekler ekleyebilmek istiyorum - ör. Bir pizza yemeği, bu ürünün fiyatını etkileyecek "küçük", "orta" ve "büyük" seçeneklere sahip olacaktır. Bunu uygulamak için en iyi yolun nasıl olduğunu düşünüyorsunuz? Sorunum, her öğün farklı seçeneklere sahip olabilir ve seçeneklerin farklı fiyatları olabilir. Bu nedenle, bir "dize" özniteliğini bir dize olarak ekleyemiyorum.Raylar,

resources :restaurants do 
    resources :meals do 
     resources :options 
    end 
end 

Nasıl Bunu önlemek için: Başka bir modeli kullanmak Öte yandan, ben kötü bir uygulamadır okumak yolları çok fazla yuvalama olsun? Önerileriniz için teşekkürler!!

cevap

0

Seçeneklerin her birini gerektiği gibi tutmak için bir seçenek modeline sahip olmanıza gerek yok - restoranın kendisi için seçeneklerle alakası olmayan restoranlar için sığ bir rota düşünmeniz gerekiyor. Şimdi (tırmık yolları) sizin yolları bakarsanız onlar değiştirmek ne kadar göreceksiniz

resources :restaurants, shallow: true do 
    resources :meals do 
     resources :options 
    end 
end 

: Yani yerine yolları gibi görünebilir.

Ancak, seçeneklerin kaynaklara gereksinim duymadığına karar vermesi. Bir ziyaretçi yeni seçenekler oluşturmayacak. Bir koleksiyona mevcut seçenekleri ekleyecekler (yemek + seçenek = sipariş .. veya benzer bir şey) - böylece bir menü için yeni seçenekler oluşturmak için yalnızca yönetici ad alanında bu rotayı kullanabilirsiniz.

+0

Kimlerin yemek ekleyebileceği konusunda net değildim ... Kullanıcıların bunu yapabilmelerini isterim - bir restoran yöneticisi ise, yönetici paneline erişimi olmayan bir yemek ekleyebilir. Ben tam olarak ne istediğini yapar ama ne yazık ki, benim app ile uyumlu olmayan bir gem (spree_flexi_variants) bulundu: / –