我正在关注Michale Hartl的教程,目前我正在这一步:
清单5.23。添加根路由的映射。配置/ routes.rb中
SampleApp::Application.routes.draw do
root to: 'static_pages#home'
match '/help', to: 'static_pages#help'
match '/about', to: 'static_pages#about'
match '/contact', to: 'static_pages#contact'
end
我已将他的确切编码复制到我的config / routes.rb并继续收到路由错误:
没有路线匹配[GET]“/static_pages/home.html”。
-
此时不知道该怎么做才能将我的主页作为索引进行路由,并且能够使用root_path链接回“Home”。
答案 0 :(得分:4)
从您在浏览器中输入的网址中删除../static_pages/..
。
答案 1 :(得分:1)
这段代码是正确的
SampleApp :: Application.routes.draw做
root :to => 'static_pages#home'
get '/help' => 'static_pages#help'
get '/about' => 'static_pages#about'
get '/contact' => 'static_pages#contact'
端
您不必删除索引页面,教程中的rspec测试没有错,这是使用当前可用方法的更新代码
描述"主页"做
it "should have the content 'Sample App'" do
visit '/'
page.should have_content('Sample App')
end
端
这是使用ruby -v ruby 2.0.0p47和rails -v Rails 4.0.3
如果您在{visit help_path}之前使用,使用Rails控制台并检查路径app.help_path确认&{39;之前{visit help_path}是正确的,但是如果此代码不在spec /中rspec_helpers.rb然后测试将失败,因为它找不到路径
如果将以下内容放在rspec_helper.rb中,则命名路由应该有效:
Rspec.configure do | config | config.include Rails.application.routes.url_helpers ... 端
答案 2 :(得分:0)
SampleApp::Application.routes.draw do
root :to => 'static_pages#home'
get '/help' => 'static_pages#help'
get '/about' => 'static_pages#about'
get '/contact' => 'static_pages#contact'
end
这段代码是对的。
答案 3 :(得分:0)
您需要删除或重命名public / index.html,然后才能运行。