/iGEL/contributions
のようなユーザー向けのルートがありますが、これは正常に機能します。しかし、今では「A.and.B.」などの名前でユーザーが登録され、名前にドットが含まれているため、ルートが一致しません。
私のルート:
get "/:user/contributions" => 'users#contributions'
何か案は?
青い情報ボックスを参照してください こちら :
デフォルトでは、動的セグメントはドットを受け入れません。これは、ドットがフォーマットされたルートの区切り文字として使用されるためです。動的セグメント内でドットを使用する必要がある場合、これをオーバーライドする制約を追加します。たとえば、
:id => /[^\/]+/
は、スラッシュ以外のすべてを許可します。
たとえば、次のようになります。
get "/:user/contributions" => 'users#contributions', :constraints => { :user => /[^\/]+/ }
変数セグメントが最後のものである場合、[^\/]
regexもフォーマットを使用します。そのような場合は、むしろ次を使用します。
/([^\/]+?)(?=\.json|\.html|$|\/)/