Railsを学び始めており、ワイルドカードルートという用語が表示されていますが、ルートが次の両方の方法でリストされているのを確認しました。
/a/path/*all', :all => /.*/
と
/a/path/:all
これら2つのルート形式の違いは何ですか?
Railsを学び始めており、ワイルドカードルートという用語が表示されていますが、ルートが次の両方の方法でリストされているのを確認しました。
/a/path/*all', :all => /.*/
と
/a/path/:all
これら2つのルート形式の違いは何ですか?
ルーティングに関するRails ガイドをもう読みましたか? これは、Rails でのルーティングについて学び始めるのに最適な場所です。
たとえば、2 番目のコード ブロックがワイルドカード ルートではないことがわかります。代わりに、上記のガイドで静的セグメントと呼ばれるものと一致します
また、最初のコード ブロックで試みているように見えるセグメントに制限を課すには、このワイルドカード route:constraints
などのオプションを使用するか、上記のガイドで言及されているように、Route Globbingを使用する必要があることも学びます。
GET "/a/path/*all", :constraints => { :all => /.*/ }
ただし、ワイルドカードはデフォルト*all
で一致するため、上記の制約は冗長です。.*