W Ruby on Rails 3 samouczku kod wykorzystuje:Dlaczego warto używać dopasowania, a nie uzyskiwać podczas routingu w Railsach?
match '/signup', :to => 'users#new'
match '/signin', :to => 'sessions#new'
match '/signout', :to => 'sessions#destroy'
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
zamiast
get '/signup', :to => 'users#new'
get '/signin', :to => 'sessions#new'
get '/signout', :to => 'sessions#destroy'
get '/contact', :to => 'pages#contact'
get '/about', :to => 'pages#about'
get '/help', :to => 'pages#help'
chociaż wszystkie trasy chcą tylko HTTP GET czasownika. Dlaczego nie używać get
(lub :via => [:get]
na match
) i ograniczyć działanie routingu jako kwestię praktyczną?
+1 za aktualizację szyn 4.0. Dziękujemy za poświęcenie czasu na zaktualizowanie starej odpowiedzi. – bengem
Zgadnij, że 'match' jest lepszy, jeśli masz trasy używane dla wielu czasowników http. –
@PetrosKyriakou Dlaczego tak jest? Wiem, że od czasu do czasu najlepsze praktyki w stosowaniu zmiany ramowej. Jednak nie sądzę, że tak jest w tym przypadku. Jeśli chcesz dostarczyć zarówno "get", jak i "post", definiuj je osobno, używając słów kluczowych "get" i "post". Jak wspomniano w zaktualizowanej odpowiedzi, Railsy zmuszają cię do zdefiniowania metody żądania. Nie jestem świadomy żadnych ostatnich zmian w tym zakresie. – emrass