3

我正在关注 Michale Hartl 的教程,我目前正处于这一步:

清单 5.23。为根路由添加映射。配置/路由.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 链接回“主页”。

4

4 回答 4

4

../static_pages/..从您在浏览器中输入的 URL 中删除。

于 2013-05-01T16:35:49.690 回答
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 确认 'before { visit help_path} 是正确的,但如果此代码不在 spec/rspec_helpers.rb 中,则您也可能会失败将失败,因为它找不到路径

如果将以下内容放入 rspec_helper.rb 中,命名路由应该可以工作:

Rspec.configure 做 |config| config.include Rails.application.routes.url_helpers ...结束

于 2014-04-03T17:24:53.053 回答
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

这段代码是正确的。

于 2013-01-27T04:19:52.133 回答
0

您需要删除或重命名 public/index.html ,然后它才能工作。

于 2013-09-18T15:21:23.693 回答