2010-06-12 14 views

cevap

342

Bir üye yolu, bir üye üyesi olduğu için bir ID gerektirecektir. Koleksiyon rotası, nesnelerin bir koleksiyonunda hareket etmemesi nedeniyle değildir. Önizleme bir üye rotasının bir örneğidir, çünkü tek bir nesne üzerinde hareket eder (ve görüntüler). Arama, bir koleksiyon rotasının bir örneğidir, çünkü bir nesne koleksiyonuna etki eder (ve görüntüler).

+0

Oluşturma eyleminden ne haber? Ben 'yaratma' için bir alternatif yapmak istediğimi söyle - üye sayılır mıydı? – digitalWestie

+1

Evet, oluşturma üye eylemdir. – Theo

+1

Peki ya herhangi bir blok olmadan "get" ekleme hakkında ne dersiniz? Üye mi, koleksiyon rotası mı? Testim koleksiyonunu gösterdi ancak farklı bir değişken adıyla. – lzap

9

1) : collection - Koleksiyonda çalışan diğer eylemler için adlandırılmış yollar ekleyin. #{action} => #{method} bir karma alır, yöntem, :get/:post/:put/:delete yöntemidir, öncekilerden herhangi bir dizidir veya: yöntem önemli değilse. Bu yollar, customers_list_users_url bir yolla /users/customers_list gibi bir URL'ye eşler.

map.resources: Kullanıcıların,: toplama => {: customers_list =>: get}

2) :member - Aynı :collection olarak değil, bir belirli üyesinde faaliyet eylemler için.

map.resources: Kullanıcıların,: üye => {: inaktif =>: post}

o Theo'nun yanıt doğrudur /users/1;inactive=> [:action => 'inactive', :id => 1]

+0

güzel örnek. üstte açıklama olsa daha iyi olabilirdi. –

25

olarak tedavi. Dokümantasyonun hatırı için, ikisinin farklı yol yardımcıları üreteceğini de belirtmek isterim.

member {get 'preview'} üretecektir:

preview_photo_path(@photo) # /photos/1/preview 

collection {get 'search'} üretecektir:

search_photos_path # /photos/search 

Not birçok!

165
   URL     Helper      Description 
---------------------------------------------------------------------------------------------------------------------------------- 
member   /photos/1/preview preview_photo_path(photo) Acts on a specific resource so required id (preview specific photo) 
collection  /photos/search  search_photos_path   Acts on collection of resources(display all photos) 
+25

en değerli gönderi! –

+0

"search_photos_url" yerine "search_photos_path" kullanılmalıdır, böylece insanlar "_path" ve "_url" ifadelerinin ikisi arasında bir fark olmadığını düşünmelidir. –

+1

@JoshPinter tamamlandı! Teşekkürler!! –