2016-03-25 17 views
0

Raylar uygulamasında bu çok uzun rotaları nasıl kısaltabilirim?Kısaltma Rayları Rotaları

# routes.rb 

    resources :courses do 
    resources :sections do 
     resources :lessons do 
     resources :sub_lessons 
     end 
    end 
    end 

cevap

1
oficial guides raylarını izlemenizi öneririz. Kaynakları 1 seviyeden daha derin bir şekilde yuvalamaktan kaçınmak iyi bir uygulamadır. Bu yuvalama seviyesine gerçekten ihtiyacınız varsa, shallow seçeneğini kullanabilirsiniz. bu şekilde en azından rotalarınız daha temiz olacaktır. (Yukarıda önerildiği gibi) bir hiyerarşi anlayışı almak amacıyla, ebeveyn altında kapsamlı toplama eylemleri üretmek için derin iç içe olduğu önlemek için

Bir şekilde değil, iç içe: belgelerinde belirtildiği gibi yukarıda anılan üye eylemleri.

resources :courses, shallow: true do 
    resources :sections, shallow: true do 
    resources :lessons, shallow: true do 
     resources :sub_lessons 
    end 
    end 
end 

Sadece bu biraz uğraşmak ve rake routes kullan: Diğer bir deyişle, sadece benzersiz kaynak yönetmek tespit edebilecek bilgi asgari miktarda yolları inşa etmek

Böyle bir şey deneyebilirsiniz Rotalarınızın nasıl göründüğünü görün.

Ancak, kendinize sormanız gereken şey, örneğin bölümler altında yönlendirilmiş derslere ihtiyacım var mı? Onları bölmek onun daha iyi olabilir, bir şey gibi: Belli bir eylem de size kurslar dayalı dersler sınırlamak gerekir ancak bölümlerde, daha sonra ise

resources :courses do 
    resources :sections 
end 

resources :lessons do 
    resources :sub_lessons 
end 

Tüm örneğin, hangi eylem ihtiyaç kapsam bağlıdır sadece parametre olarak geçen kurs kimliğine ihtiyacınız olacak.