A note for theme authors
- Graham Ashton
- 2010-12-04 @ 15:15
Aaron's problem last week was partly due to the way Nesta behaves if you
define a catch all route in your theme. Something like this:
get "*" do
# do stuff
The theme's routes get loaded before the default routes, and once Sinatra
finds a catch all route none of the routes defined beneath it will get a
chance to run. This means that a "*" route in a theme prevents all other
routes from working; you have to copy all the routes into the theme's
That behaviour wasn't very clear, and it seemed like a bug (to both of us).
Having said that, I think copying all the routes into a theme is the way
forward; it removes the possibility that a theme could be broken by future
changes to Nesta's default routes.
I just added a note to the docs to that effect: