这是我尝试访问我的联系页面时遇到的错误: 没有路由匹配[GET]“/ static_pages / contact_path”
这是我的routes.rb。
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
这是我的文件home.html.erb
请注意,当我在roots.rb中使用home的匹配语法时,主页不起作用。我把它切换到get方法只是为了让我继续工作。我希望匹配语法能够正常工作,因为这是我为comsci课程尝试的一种技巧。有关为什么我没有得到根的任何想法?根据我的控制器,我应该有一个,是吗?
答案 0 :(得分:2)
您的路线会创建contact_path
辅助方法,您正在使用字符串:
<%= link_to "Contact", 'contact_path' %>
# ---------------------^------------^
你要打电话给帮手:
<%= link_to "Contact", contact_path %>
如果您将字符串传递给link_to
,它会创建一个<a href="contact_path">
链接,相关网址将被添加到当前网址上,以生成您所在的迷路/static_pages/contact_path
网址看到。
答案 1 :(得分:0)
link_to应为
<%= link_to "Contact", contact_path %>