2010-06-08 32 views
11

Raylarda 2: herhangi bir istek yöntemine yanıt veren özel bir yol tanımlamak için herhangi bir seçenek kullanabilirsiniz.: raylar için herhangi bir seçenek 3 yol

map.resources :items, :member => {:erase => :any} 

raylar 3 desteklemek için görünmüyor: Bu seçenek kaldırılmış veya sadece yeniden adlandırıldı eğer

resources :items do 
    get :erase, :on => :member # works 
    any :erase, :on => :member # doesn't work 
end 

bilen var mı herhangi bir seçenek?

cevap

0

İyi soru.

Edge Rails routing guide ve Rails 3 source görüntüleniyor, destekleniyor gibi görünmüyor. Rails Lighthouse numaralı telefondan bir bilet alabilirsin (bunun için mevcut bir tane bulamadım). etrafında kazma ve get, post, put ve delete eylemler aslında ActionDispatch neler yaptıklarını görmeye başlayan

12

, sana yapmanız gereken match olduğunu düşünüyorum . Yani:

resources :items do 
    get :erase, :on => :member 
    match :erase, :on => :member 
end 

Ben maç için sözdizimi aslında belgelenmiştir sanmıyorum, ama yolları bu yapılar bir all yönteminden beklediğiniz, en az benim için olan

+0

Ayrıca, aşağıdakilerle yöntemleri belirtebilirsiniz: (belirtme yoluyla): specification (: via => [: any,: get,: koy,: gönder,: sil]); anlatabildiğim kadarıyla: (herhangi bir işe yaramazsa) (yönlendirme tablosu, HERHANGİ BİR YERİN yerine bir boşluk gösterse de garip bir şekilde görünür), ancak dışarıda bırakarak: eşittir: herhangi biriyle. – Asher

+0

bu benim için çalışıyor – Anand

+0

Benim için de çalışıyor. – Arun

0
Maç çalışacak

, ama maalesef bir kaynak tanımı içinde değil. En azından birlikte olsun/post tanımlamak için bir yol geri getirmeyi diliyorum.

+0

Hmm? Kaynak bloğu içinde benim için gayet iyi çalıştı. Rails 3.0.0.beta4 Kullanarak –

+1

Aah - problemim: on =>: üye. Kaynak ismimi kullanıyordum (: on =>: item). Hata iletisi görünüşte çok iyi değil .. "/Library/Ruby/Gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_dispatch/routing/mapper.rb:738:in" eşleşme ': yolu doğrudan kaynak (lar) alanında tanımlayamıyorum (ArgumentError) " – Kevin