0

railstutorial.org の Michael Hartl のスクリーンキャストをフォローしています。第 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_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]、rails 3.0.7、gem 1.6.2 を使用しています。助けてください。

4

2 に答える 2

1

あなたのルートはレベルに設定されています。/pages/contact へのルートはありません。ルート ファイルを指定すると、正しいルートは「/contact」になります。

于 2011-05-07T19:32:22.193 に答える
0

遅刻者のために、私はこれと同じ問題を抱えていました。チュートリアルのコードには、これらのステートメントのend後にがあってはなりません。matchconfig/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
于 2012-01-20T15:41:39.570 に答える