我正在跟着 Rails 的教程学习,现在需要为几个页面添加一些测试。
我试图在 pages_controller_test 中使用 help_path 而不是 :help:
test "should get help" do
get help_path
assert_response :success
assert_select "title", "Help | #{@base_title}"
end
我在我的routes.rb文件中添加了这行代码:
get '/help', to: 'pages#help'
我得到了这个错误:
1)错误: PagesControllerTest # test_should_get_help: ActionController :: UrlGenerationError:没有匹配路由{:action =>“/help”,:controller =>“pages”} test / controllers / pages_controller_test.rb:62:在`block in' 我尝试了一些解决方案,但都没有解决我的问题。 我还尝试使用以下代码行:
match '/home' => 'main_pages#home', :as => :home
但它仍然没有起作用。
我的Rails版本是:4.2.4 我的Ruby版本是:ruby 2.1.9p490(2016-03-30 revision 54437)[x86_64-linux-gnu] $rake routes的输出:
Prefix Verb URI Pattern Controller#Action
root GET / pages#home
help GET /help(.:format) pages#help
courses GET /courses(.:format) pages#courses
programs GET /programs(.:format) pages#programs
schools GET /schools(.:format) pages#schools
dashboard GET /dashboard(.:format) pages#dashboard
profile GET /profile(.:format) pages#profile
account GET /account(.:format) pages#account
signout GET /signout(.:format) pages#signout
编辑: 我可以在我的HTML代码中使用 help_path 等,但是在测试中它会出现错误。 谢谢 :)
get '/help', to: 'pages#help', as: :help
... 这真的不起作用吗? - max pleanerget '/help'
怎么样? - Sebastián Palma