link_to问题

时间:2011-04-25 20:08:01

标签: ruby-on-rails

我是Rails的新手,我正在尝试创建一个基本的博客应用程序,但我无法链接。

我有三个控制器(作者,页面和static_pages)。他们都工作正常,但我试图链接到static_pages中的两个页面。它们是about.html.erbhelp.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开发一般都是新手,所以任何建议都会受到赞赏。

3 个答案:

答案 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路线检查了路线?如果不是,这是解决与路线错误相关的问题的好方法。