我在routes.rb
中定义了三条路线Rails.application.routes.draw do
root to: 'pages#lottery'
get 'pages/about'
get 'pages/contact'
get 'pages/lottery'
end
当我跑步"耙路线"在我的命令行中,我得到以下内容:
Prefix Verb URI Pattern Controller#Action
root GET / pages#lottery
pages_about GET /pages/about(.:format) pages#about
pages_contact GET /pages/contact(.:format) pages#contact
pages_lottery GET /pages/lottery(.:format) pages#lottery
但是当我到了localhost:3000 / pages / contact我收到错误:
"No route matches [GET] "/pages/contact.html.erb"
还有"You don't have any routes defined!"
有人知道这个问题吗?
答案 0 :(得分:0)
Ugh菜鸟的错误。我在命令行中打开了两个选项卡。我的rails s
页面位于不同的目录中。感谢大家的帮助,我很感激。
答案 1 :(得分:-1)
您不应该访问网址/pages/contact.html.erb
,它应该只是/pages/contact.html
。
Rails提供了很好的帮助,可以轻松获得正确的路径,例如pages_contact_path
(来自rake routes
)。
答案 2 :(得分:-1)
根据您列出的路线,您的pages_controller.rb
应包含三种方法。
<强> pages_controller.rb 强>
class PagesController < ApplicationController
def lottery
end
def about
end
def contact
end
end
<强>视图/页/ contact.html.erb 强>
<p>Hello World</p>
启动rails服务器 - rails s
并导航至localhost:3000/pages/contact
,您应该会看到Hello World