Глава 5 книги Hartl Почему для маршрутизации требуется get () для user.new? - PullRequest
1 голос
/ 23 сентября 2011

Вокруг листинга 5.29 учебника по рельсам Hartl (http://ruby.railstutorial.org/) обсуждается ошибка маршрутизации, которая вынуждает вас вызывать метод get для users / new, а не просто метод match. Это позже исправляется путем вызова Метод ресурсов в следующей главе.

Мой общий вопрос: почему мы не должны вызывать get () для действий PagesController в следующем листинге.

 #5.29
 SampleApp::Application.routes.draw do
    get "users/new"

    match '/signup',  :to => 'users#new'

    match '/contact', :to => 'pages#contact'
    match '/about',   :to => 'pages#about'
    match '/help',    :to => 'pages#help'

    root :to => 'pages#home'
 end

1 Ответ

1 голос
/ 23 сентября 2011

Разница в типах HTTP-запросов, которым будут соответствовать маршруты.

При использовании get "users/new" маршрут будет соответствовать только запросам HTTP GET.

match "users/new" фактически соответствует всем типам HTTP-запросов.

Вы можете использовать get вместо match для других ваших маршрутов, если вы ожидаете только GET-запросов для них (что, похоже, имеет место).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...