2012-06-13 18 views
5

kök yolunu geçersiz kılınabilir Bir Rails 3 Engine yazıyorum ve motorumun rotalarını ana bilgisayar uygulamasıyla birleştiriyorum. Ancak, ana makine uygulamasının yolları, motorumun rotalarına göre önceliklidir. Ana bilgisayar uygulamasının yollarını (özellikle kök yolu) geçersiz kılmanın bir yolu var mı?Ana makine uygulamasının Roottable Engine

MyEngine::Engine.routes.draw do 
root :to => "home#index" 
end 

# Mount engine routes to host application 
Rails.application.routes.draw do 
    mount MyEngine::Engine, :at => "/" 
end 

Ve burada konağın kök üst oturan ile rake routes sonuçlarını var: Burada

my_enging/config/routes.rb benim motorun yolları var,
root/welcome#index 
my_engine/MyEngine::Engine 
root/home#index 

Spree

yapar bir mücevher ama Bunu nasıl uyguladıklarını bulamadım.

cevap

0

İnsanların karşıt bir şey yapma olasılığı daha yüksektir, bu yüzden neden buna ihtiyacınız olduğunu anlayamıyorum, çünkü motor rotalarını geçersiz kılma yeteneği beklenmelidir. Aslında, motoru uygulama yollarını geçersiz kılmak için nasıl zorlayacağımı bilmiyorum, ancak:

Spree, rotaları bir şekilde eval_block aracılığıyla dinamik olarak ekliyor.

root to:'u ve uygulamanızın istenmeyen tüm yollarını atlayabilir ve daha sonra Motor rotaları ortaya çıkacaktır. İkisini birden tutmayın. Uygulamanızda belirtilen kökü göremiyorum ama Sadece bir deneme yapıyorum ve her şey çalışıyor!

W12::Engine.routes.draw do 
    root to: 'details#index' 
end 

MyCarsApplication.routes.draw do 
    mount Common::Engine => "/" 
end 

Ve sadece bir rota var:

root/details#index 

This post about creating not isolated engines

da yardımcı olabilir.

Tam cevabı bulduysanız, lütfen gönderin.

İlgili konular