> 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.
This actually has nothing to do with arel, the issue is that the named
routes you have clash , the /seat/tickets and /seat/1/tickets are
*both* called seat_tickets_path.
The fact it was ''working'' before was actually a bug, the
priority is
*meant* to be given to the first routes you have declared, your
application expects it to be given to the second. I believe you might
be able to work around this by using the hash arguments instead of
positional arguments:
seat_tickets_path(:id=>1)
But the reality is that your named routes are clashing and you''re
going to have various random bits of fucked up results unless you
address that. If you never use /seat/tickets.:format you could use
resources :tickets, :only => [:things, :you, :use] to avoid it.
> --
> You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Core" group.
> To post to this group, send email to rubyonrails-core@googlegroups.com.
> To unsubscribe from this group, send email to
rubyonrails-core+unsubscribe@googlegroups.com.
> For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en.
>
>
--
Cheers
Koz
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Core" group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to
rubyonrails-core+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en.