Why do routes with a dot in a parameter fail to match?

See the blue info box here:

By default dynamic segments don’t
accept dots – this is because the dot
is used as a separator for formatted
routes. If you need to use a dot
within a dynamic segment add a
constraint which overrides this – for
example :id => /[^\/]+/ allows
anything except a slash.

That would for example be:

get "/:user/contributions" => 'users#contributions', :constraints => { :user => /[^\/]+/ }

Leave a Comment