I just did an upgrade to Rails 0.10.1. It seems to have broken my app. I get this error (nothing works): ActionController::RoutingError (No route for path: ""): /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.5.1/lib/action_controller/routing.rb:258:in `recognize!'' /usr/local/lib/ruby/gems/1.8/gems/rails-0.10.0/lib/dispatcher.rb:32:in `dispatch'' /var/www/applications/cookbook/public/dispatch.fcgi:7 /var/www/applications/cookbook/public/dispatch.fcgi:7:in `each_cgi'' /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each'' /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' /var/www/applications/cookbook/public/dispatch.fcgi:7 If I add the following route: map.connect '''', :controller => ''recipe'', :action => ''list'' Then, my app is *stuck* on this page. No matter what I click, I get this page (my default page). For example, if I click on a link which should bring me to ingredient/list (controller/action), recipe/list renders (even though the URL still reads ingredient/list). And I get the following output in the log: Processing RecipeController#list (for xx.xx.xx.xx at Sun Mar 06 21:31:21 MST 2005) Parameters: {"action"=>"list", "controller"=>"ingredient"} Recipe Load (0.009394) SELECT * FROM recipes ORDER BY title Category Load (0.010937) SELECT * FROM categories ORDER BY name Rendering recipe/list (200 OK) Any suggestions?
Current obvservations (no solution yet): First and foremost, 0.10.1 expects a "" route, even though this does not exist in the routes.rb upon a Rails app creation. So, I added a "" route. Then, no matter what controller/action I visited, I the "" route would be rendered. I created a new rails app with .10.1, and I copied over public/dispatch.fcgi over. This halfway fixed the problem. Now, anything that sits under the same controller as my "" route works okay. So, for example, my "" route looks like: map.connect "", :controller=>''recipe'', :action=>''list'' Any action that sits under recipe/, works. Any action that sits under any other controller renders the above default action. Note, I could only get this far if I copied over the new dispatch.fcgi and created a default route. So, I''m halfway there. Any suggestions how to get this fixed? On Sun, 6 Mar 2005 22:00:38 -0600, Belorion <belorion-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I just did an upgrade to Rails 0.10.1. It seems to have broken my > app. I get this error (nothing works): > > ActionController::RoutingError (No route for path: ""): > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.5.1/lib/action_controller/routing.rb:258:in > `recognize!'' > /usr/local/lib/ruby/gems/1.8/gems/rails-0.10.0/lib/dispatcher.rb:32:in > `dispatch'' > /var/www/applications/cookbook/public/dispatch.fcgi:7 > /var/www/applications/cookbook/public/dispatch.fcgi:7:in `each_cgi'' > /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each'' > /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' > /var/www/applications/cookbook/public/dispatch.fcgi:7 > > If I add the following route: > > map.connect '''', :controller => ''recipe'', :action => ''list'' > > Then, my app is *stuck* on this page. No matter what I click, I get > this page (my default page). For example, if I click on a link which > should bring me to ingredient/list (controller/action), recipe/list > renders (even though the URL still reads ingredient/list). And I get > the following output in the log: > > Processing RecipeController#list (for xx.xx.xx.xx at Sun Mar 06 > 21:31:21 MST 2005) > Parameters: {"action"=>"list", "controller"=>"ingredient"} > Recipe Load (0.009394) SELECT * FROM recipes ORDER BY title > Category Load (0.010937) SELECT * FROM categories ORDER BY name > Rendering recipe/list (200 OK) > > Any suggestions? >
Okay, I figured it out. My old (default from 0.10) .htaccess file was the problem. If I replaced the .htaccess from my 0.10 install with one generated from 0.10.1, this fixes everything. I didn''t even have to update dispatch.fcgi, or add the default "" route. *NOTE*, this was all done under Apache2.0/fastcgi. I haven''t had a chance to test this under any other environment. Matt On Mon, 7 Mar 2005 08:50:37 -0600, Belorion <belorion-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Current obvservations (no solution yet): > > First and foremost, 0.10.1 expects a "" route, even though this does > not exist in the routes.rb upon a Rails app creation. > > So, I added a "" route. > > Then, no matter what controller/action I visited, I the "" route would > be rendered. I created a new rails app with .10.1, and I copied over > public/dispatch.fcgi over. This halfway fixed the problem. Now, > anything that sits under the same controller as my "" route works > okay. > > So, for example, my "" route looks like: > map.connect "", :controller=>''recipe'', :action=>''list'' > > Any action that sits under recipe/, works. Any action that sits under > any other controller renders the above default action. Note, I could > only get this far if I copied over the new dispatch.fcgi and created a > default route. > > So, I''m halfway there. Any suggestions how to get this fixed? > > > On Sun, 6 Mar 2005 22:00:38 -0600, Belorion <belorion-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > I just did an upgrade to Rails 0.10.1. It seems to have broken my > > app. I get this error (nothing works): > > > > ActionController::RoutingError (No route for path: ""): > > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.5.1/lib/action_controller/routing.rb:258:in > > `recognize!'' > > /usr/local/lib/ruby/gems/1.8/gems/rails-0.10.0/lib/dispatcher.rb:32:in > > `dispatch'' > > /var/www/applications/cookbook/public/dispatch.fcgi:7 > > /var/www/applications/cookbook/public/dispatch.fcgi:7:in `each_cgi'' > > /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each'' > > /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' > > /var/www/applications/cookbook/public/dispatch.fcgi:7 > > > > If I add the following route: > > > > map.connect '''', :controller => ''recipe'', :action => ''list'' > > > > Then, my app is *stuck* on this page. No matter what I click, I get > > this page (my default page). For example, if I click on a link which > > should bring me to ingredient/list (controller/action), recipe/list > > renders (even though the URL still reads ingredient/list). And I get > > the following output in the log: > > > > Processing RecipeController#list (for xx.xx.xx.xx at Sun Mar 06 > > 21:31:21 MST 2005) > > Parameters: {"action"=>"list", "controller"=>"ingredient"} > > Recipe Load (0.009394) SELECT * FROM recipes ORDER BY title > > Category Load (0.010937) SELECT * FROM categories ORDER BY name > > Rendering recipe/list (200 OK) > > > > Any suggestions? > > >