Я следую руководству по рельсам по этой ссылке: http://ruby.railstutorial.org/chapters/filling-in-the-layout#code:static_page_routes
в файле /config/routes.rb, у меня есть
SampleApp::Application.routes.draw do
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
root :to => 'pages#home'
end
когда я запускаю сайт, он дает мне ошибку: никакой маршрут не существует. я ищу по форуму, и ppl предлагает поставить совпадение '/pages/home' = > 'pages # home'
который я сделал:
SampleApp::Application.routes.draw do
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
match '/pages/home' => 'pages#home'
root :to => 'pages#home'
end
все работает. но теперь, на мой вопрос, в чем разница между
1. match '/something', :to => 'pages#something'
2. match '/something' => 'pages#something'
3. root :to => 'pages#home'
в основном, код, который я только что положил. не должен ли корень брать основную главную страницу, и мне не нужны страницы соответствия /home = > pages # home?
настолько запутанным,
Спасибо!
EDIT1: Я не получаю ответы, которые хочу, и поэтому я предполагаю, что мой вопрос неверен. Я сломаю его на две части:
-
В чем разница между:
match '/pages/home' = > 'pages # home' А ТАКЖЕ root: to = > 'pages # home'
некоторые говорят, что корень берет его на свою корневую страницу, которую я могу понять, но, как я объяснил выше, если у меня есть только root: страницы /home показывают ошибку маршрутизации. страницы /home должны совпадать с корневой страницей, правильно?
-
В чем разница между:
match '/contact',: to = > 'pages # contact' А ТАКЖЕ match '/pages/home' = > 'pages # home
синтаксически, первая строка имеет: to = > , а вторая строка - нет. это: нужно? что он делает?
спасибо