2017-08-19 11 views
2

レール5.0.5で、以下の経路の定義は5.1.3でレール5.1「曖昧ルート定義の両方:パスと文字列として指定されたルート・パス(例外ArgumentError)」

get 'terms_of_use', to: 'pages#terms_of_use', path: "terms-of-use" 

を動作し、I次のエラーを取得するの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) 

私はRailsの5.1.3のために誤っpath:を使用するか、これはRailsのバグであるだろうか?

「不明瞭」と「場所」エラーメッセージに私にこの1上のRailsの正しさに自信の全体の多くを与えるものではありませんが、誤った使用方法のスペルミス...

+0

どのようにRailsの5.1.3にアップデートしたのですか?間違って綴られたエラーメッセージは5.1.3以前のようです。https://github.com/rails/rails/commit/9f7c9ee44d9d433a089515e8d4b804a312693c8b – Zoran

+0

私はRails 5.0.5からRails 5.1に直接行きました。 3。私は2つのバージョンの間でrailsdiff.orgによって報告された違いを見ました。私は手作業でファイルの変更を行い、違いを解決して、アプリケーションをRails 5.1.3に持ってきました。 Gemfileでは、Railsのバージョンを5.1.3に変更しました。私はGemfileを削除し、完全なバンドルを行いました。 Rails 5.1.3は間違いなくGemfile.lockにあります。 – CodeSmith

+0

彼らはそのコミットをマスターにのみマージしたようです。 5.1ブランチでは何も変更されていません。 – CodeSmith

答えて

1

のいずれかをお試しください次

get :terms_of_use, to: 'pages#terms_of_use', path: 'terms-of-use'

または

get 'terms-of-use', to: :terms_of_use, controller: 'pages'

+0

SOの次の記事もっと複雑なルーティングの場合にも興味深いかもしれません:https://stackoverflow.com/questions/41097422/fixing-rails-5-deprecation-warning-for-matching-routes –

+1

後者はうまくいきました。私は 'get terms of use 'を使って終わりました:' pages#terms_of_use '" ' – CodeSmith

関連する問題