Ошибка маршрутизации, скриншоты Майкла Хартла с railstutorial.org - PullRequest
0 голосов
/ 07 мая 2011

Я слежу за скринкастами Майкла Хартла с railstutorial.org. Согласно главе 5 я изменил config / route.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_path%>
  • <% = link_to "Контакт", 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. Я получаю ошибку маршрутизации в браузере

Нет совпадений маршрутов "/ pages / contact"

Я использую ruby ​​1.9.2p180 (2011-02-18, редакция 30909) [x86_64-linux], рельсы 3.0.7 и самоцвет 1.6.2 Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 07 мая 2011

Ваши маршруты настроены на уровень.Для / pages / contact нет маршрута, правильный маршрут - "/ contact", учитывая ваш файл маршрутов.

0 голосов
/ 20 января 2012

Для поздних посетителей, у меня была такая же проблема.Код из учебника не должен иметь end после этих match операторов.Если вы посмотрите на последнюю строку config / rout.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
...