I wanted to check on this before submitting a patch - see if I am missing anything. If you have a non resource route (useful, even when doing REST, for supplying a different limited public access to your rest controller, say) you have to add the format to the route yourself, but having "." be in separators, but not optional causes problems with ".:format" rules. If you add the .:format, then (on edge), the . becomes required, and even if you default format to html, you still need to add the . to your url (ugly).
I checked /actionpack/lib/action_controller/routing.rb/RouteBuilder (line 799) and found this def initialize self.separators = Routing::SEPARATORS self.optional_separators = %w( / ) end so there seems to be no way to override optional_separators. Adding " ." seemed to work for my needs, but before submitted a patch and tests I wanted to check on this. Should it be changed to %w( / . ) or Routing::OPTIONAL_SEPARATORS, and if the latter, should the default be %w( / . )?