14

Gem rails3-jquery-autocomplete kullanıyorum ve bununla ilgili bir sorunum yok, ancak şimdi otomatik tamamlama formumu uygulama şablonuna taşıdım ve bu nedenle ajax çağrıları artık uygulama denetleyicisi tarafından ele alındı, bu yüzden rotalarım değişti dan:Bir eylemi Rails 3'teki uygulama denetleyicisine nasıl yönlendirirsiniz?

home_autocomplete_category_name_path 

için:

autocomplete_category_name_path 
şimdi

home/autocomplete_category_name 

ve kaldırılır ev ve yolu olmalı 0

Herhangi bir fikri olan var mı? Hala Rails'in izlerini ve çıkışlarını öğrenmek, bu yüzden şu anda benim için bir çıkmaz sokak.

Teşekkürler. bunun sadece alt sınıfları -

+0

Hedeflediğiniz URL'nin yanı sıra söz konusu rota için geçerli olan RoR gerçek kodunu göndermek en iyisi olur. – jschorr

+0

Ayrıca, geçerli rotalarınızı kök proje dizininizdeki konsolda 'rake route'ları yazarak da ekleyin. – raidfive

cevap

9

URL gibi bir şey deneyin.

Aramayı başka bir denetleyiciye autocomplete numaralı telefona taşımanız gerekir. Formun konumu, text_field

+0

Tam olarak söylediğin gibi işi bitirdim, bu çok etkili bir çözüm değil, işe yarıyor! –

+3

İsterseniz ApplicationController'a yönlendirmek isterseniz - sadece bir şeylerin konvansiyonuna karşı – Pavling

+0

neyi uygulamanın kök yolumu olarak ayarlamak istersem? –

0

ApplicationController doğrudan eşleşmeyen

match "home/autocomplete_category_name", "home#autocomplete_category_name", :as => "autocomplete_category_name" 
27

Eski postasını tanımladığınızda, doğru yolu geçtiğiniz sürece bir fark yaratmamalıdır, ancak kabul edilen yanıt yanlıştır. Bunun ruhu doğru olsa da, muhtemelen yönteminizi daha uygun bir denetleyiciye taşımalısınız; ancak application_controller.rb 'some_route' yöntemine application_controller.rb

# routes.rb 
match '/some_route', to: 'application#some_route', as: :some_route 

... irade rotada yöntem sahip üzerine ısrar ediyorsun.

6

Başka nekro ama bunu yapmak için daha KURU dost yolu daha iyi değil kodu yeniden denemek için Başvuru denetleyiciye taşımak için

get :autocomplete_category_name, controller:"application" 

Deniyordum (dün) pavling çözümüyle karşılaştırıldığında, orada belirli bir kontrolöre bağlayın. Bu güne cevap vermek için kullanılan denetleyici, bu aramayı cevaplamak için kullanılan kontrolörün zaten farklı bir nesne olacağından sadece bir şey anlamıyor muydunuz?

+1

Denetleyiciye özgü olmayan genel çağrılar için mükemmel çalışır. –

1

Rayları 4 kullanarak, kullanmanız gerekir, değil eşleştir ...

# routes.rb 
get '/autocomplete_category_name', to: 'application#autocomplete_category_name', as: :autocomplete_category_name 
+0

yapamazsınız * için * siz ... yapabilirsiniz * yapabilirsiniz * bir '' üzerinden: 'seçeneği. – Pavling

İlgili konular