我是Rails的新手,我正在尝试创建一个基本的博客应用程序,但我无法链接。
我有三个控制器(作者,页面和static_pages)。他们都工作正常,但我试图链接到static_pages
中的两个页面。它们是about.html.erb
和help.html.erb
。我正在使用part来在顶部创建导航菜单。
我收到以下错误:
ActionController::RoutingError in Pages#index
No route matches {:controller=>"pages", :action=>"about"}
1: <%= link_to 'Homepage', pages_path %> |
2: <%= link_to 'List of Authors', authors_path %> |
3: <%= link_to 'About', :action => 'about' %> |
4: <%= link_to 'Help', :action => 'help' %>
我的菜单部分中的代码是:
<%= link_to 'Homepage', pages_path %> |
<%= link_to 'List of Authors', authors_path %> |
<%= link_to 'About', :action => 'about' %> |
<%= link_to 'Help', :action => 'help' %>
我的static_pages控制器如下所示:
class StaticPagesController < ApplicationController
def About
end
def Help
end
end
我知道这可能是非常简单的事情,但正如我所说,我对Rails和Web开发一般都是新手,所以任何建议都会受到赞赏。
答案 0 :(得分:3)
琐碎,让你的动作方法小写。 Ruby对变量和方法名称区分大小写。
class StaticPagesController < ApplicationController
def about
end
def help
end
end
答案 1 :(得分:0)
确保您的link_to方法正在尝试访问StaticPagesController,您的错误似乎表明Rails正在尝试通过PagesController为about操作创建URL。
检查ActionView::Helpers::UrlHelper的文档,尤其是link_to和url_for方法。
答案 2 :(得分:0)
您是否在终端/控制台中使用rake路线检查了路线?如果不是,这是解决与路线错误相关的问题的好方法。