#ruby-on-rails-3 #routes #rails-routing #railstutorial.org
#ruby-on-rails-3 #маршруты #rails-маршрутизация #railstutorial.org
Вопрос:
Я слежу за скринкастами Майкла Хартла из railstutorial.org . Согласно главе 5, я изменил 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
и _footer.html.erb в:
- <%= link_to «About», about_path %>
- <%= link_to «Contact», contact_path %>
и _header.html.erb для:
<% logo = image_tag("logo.png", :alt => "Sample App", :class => "round") %>
<%= link_to logo, root_path %>
<nav class="round">
<ul>
<li><%= link_to "Home", root_path %></li>
<li><%= link_to "Help", help_path %></li>
Я новичок в Ruby on Rails. Я получаю ошибку маршрутизации в браузере
Маршрут не соответствует «/ страницам / контакту»
Я использую ruby 1.9.2p180 (редакция 30909 2011-02-18) [x86_64-linux], rails 3.0.7 и gem 1.6.2, пожалуйста, помогите.
Ответ №1:
Ваши маршруты настроены на определенный уровень. Для /pages /contact нет маршрута, правильный маршрут — «/contact», учитывая ваш файл routes.
Комментарии:
1. Большое спасибо.. но я не могу получить доступ к своей домашней странице
2. Вы удалили public/index.html ? Если нет, то это всегда будет обслуживаться, даже если root: to установлен в вашем файле routes.rb.
Ответ №2:
Для поздних посетителей, у меня только что была такая же проблема. В коде из руководства не должно быть end
после этих match
инструкций. Если вы посмотрите на последнюю строку config/routes.rb, вы увидите и end
там. Это единственный конец, который вам нужен.
Вместо:
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
Это должно быть:
SampleApp::Application.routes.draw do
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
root :to => 'pages#home'
# All those commented out rules
# All those commented out rules
# All those commented out rules
end