Ruby on rails 没有与[GET]匹配的路由/静态“页面/联系人路径”;

Ruby on rails 没有与[GET]匹配的路由/静态“页面/联系人路径”;,ruby-on-rails,rails-routing,Ruby On Rails,Rails Routing,这是我尝试转到联系人页面时遇到的错误: 没有与[GET]“/static\u pages/contact\u path”匹配的路由 这是我的路线 SampleApp::Application.routes.draw do get "static_pages/home" match '/help', to: 'static_pages#help', via: 'get' match '/about', to: 'static_pages#about', via: 'get' m

这是我尝试转到联系人页面时遇到的错误: 没有与[GET]“/static\u pages/contact\u path”匹配的路由

这是我的路线

SampleApp::Application.routes.draw do
get "static_pages/home"
match '/help',    to: 'static_pages#help',    via: 'get'
match '/about',   to: 'static_pages#about',   via: 'get'
match '/contact', to: 'static_pages#contact', via: 'get'
end
这是我的控制器

class StaticPagesController < ApplicationController

  def home
  end

  def help
  end

  def about
  end

  def contact
  end
end
class StaticPagesController
这在我的home.html.erb文件中


  • 请注意,当我在roots.rb中使用主页的匹配语法时,主页不起作用。我把它切换到get方法,这样我就可以继续工作了。我希望匹配语法能够起作用,因为这是我正在为comsci类尝试的一种技术。有没有想过为什么我没有根?根据我的控制器,我应该有一个,是吗?

    您的路由将创建一个
    联系人路径
    助手方法,您正在使用一个字符串:

    <%= link_to "Contact", 'contact_path' %>
    # ---------------------^------------^
    
    
    # ---------------------^------------^
    
    要在何处调用帮助程序:

    <%= link_to "Contact", contact_path %>
    
    
    
    如果你将一个字符串传递给
    link\u to
    ,它将创建一个
    链接,该相对URL将被固定到当前URL上,以生成你看到的零散的
    /static\u页面/contact\u path
    URL。

    链接应该是

    <%= link_to "Contact", contact_path %>
    

    Oop我们开始了。终端刷新问题。现在明白了。感谢所有帮助我的人,尤其是这篇评论,因为你解释了一些我的课本不太好的地方。