我是 ruby on rails 的初学者,并且正在学习在线教程。我立刻迷路了。每次我尝试访问我的 url 'pages/help' 时,浏览器中都会显示一个错误“找不到 PagesController 的操作 'show' ”。我有一个名为 _header 的 ruby 分区,其中包含以下代码:
<header>
<%= link_to logo, root_path %>
<ul class="nav nav-tabs">
<li class="active">
<%= link_to "Home |", root_path %>
</li>
<li><%= link_to "Help |", pages_help_path %></li>
<li><%= link_to "Sign In", '#'%></li>
</ul>
</header>
当我尝试单击“帮助”链接时,会发生错误。
我的 routes.rb 仅包含以下代码:
BakeShop::Application.routes.draw do
resources :pages
root :to => 'pages#home'
#match '/help', :to => 'pages#help'
get "pages/help"
end
我有一个只有这些代码的 PagesController:
class PagesController < ApplicationController
def home
end
def help
end
end
当我运行“rake routes”时,包含的列表是:
pages GET /pages(.:format) pages#index
POST /pages(.:format) pages#create
new_page GET /pages/new(.:format) pages#new
edit_page GET /pages/:id/edit(.:format) pages#edit
page GET /pages/:id(.:format) pages#show
PATCH /pages/:id(.:format) pages#update
PUT /pages/:id(.:format) pages#update
DELETE /pages/:id(.:format) pages#destroy
root GET / pages#home
pages_help GET /pages/help(.:format) pages#help
我当然在我的视图文件夹中创建了 home.html.erb 和 help.html.erb。不同的是,当我在我的视图文件夹中创建一个“show.html.erb”并在我的页面控制器中创建一个名为“show”的操作时,错误消失并链接到 .
所以我要说的是,谁能解释一下?为什么rails寻找我没有定义的“展示”动作而不是“帮助”动作