これはまさに正確な質問で、1 年前にここで尋ねられました。質問者は結論に達しました、そして私は引用します
さて、これはおそらく Rails チームが「/.atom」のような URL を思いとどまらせるために意図的に行ったことであると判断しました (なぜなら、それは起こるべきことのように見えるからです)。 2 番目のルート (get "latest", :action => :index) は URL 形式 ("/latest.atom" など) の代わりに使用します。
質問から、3.0 と 3.1 の間で何かが起こったようです。
一時的な解決策として、さらに深く掘り下げてから削除root
しroutes.rb
、 this を追加する必要がありget "/(.:format)" instead, to: "public#index"
ます。これはうまくいくはずです。
編集
うん、それはこのコミットに関連している可能性があります。
APIは、ルートのリストに追加するために使用することをroot
明確に示しています。はスラッシュで終わるので、... ドットを接続します。コミットは、で終わるルートの形式はないと言っています。match
/
root
/
|| path.end_with?('/')
から追加 ( ) を削除し、フォーマットactionpack/lib/action_dispatch/routing/mapper.rb
を使用できるようになりました。root