I have reported this but have seen no action. Since the problem is preventing us upgrading past Rails-3.0.1 I would like to have some attention given to it or some form of workaround found. I have been unable to find one myself.
The difficulty is easily reproduced and apparently hinges on the interaction of a singular and plural form of the same resource. Given an otherwise unmodified Rails3 project and a routes file that contains only this:
resource :seat do resources :tickets end
resources :seats do resources :tickets, :controller => 'seat_tickets' end
Then in 3.0.3 seat_tickets_path( 1 ) produces this uri:
app.seat_tickets_path( 1 ) => "/seat/tickets.1"
While the routing provided works as expected in 3.0.1:
app.seat_tickets_path( 1 ) => "/seats/1/tickets"
It seems to me that something is seriously awry with AREL if asking for a resource by id generates a request for a nonsensical format.