在Rails 5.0.5上,以下路由定义可以正常工作
get 'terms_of_use', to: 'pages#terms_of_use', path: "terms-of-use"
在5.1.3上,启动Rails服务器时出现以下错误
/home/dev/.rvm/gems/ruby-2.3.3/gems/actionpack-5.1.3/lib/action_dispatch/routing/mapper.rb:1852:in `block in map_match': Ambigous route definition. Both :path and the route path where specified as strings. (ArgumentError)
我是否错误地将path:
用于Rails 5.1.3或者这是一个Rails错误?
" Ambigous"以及"其中"的错误用法在错误信息中并没有让我对Rails的正确性给予我很大的信心......
答案 0 :(得分:1)
请尝试以下方法之一:
get :terms_of_use, to: 'pages#terms_of_use', path: 'terms-of-use'
或
get 'terms-of-use', to: :terms_of_use, controller: 'pages'