views:

27

answers:

1

Hi all,

I'm deploying my app to a live server running passenger on Apache. I've tested the app locally and my routes appear sound. I have my public controllers under app/controllers/content and my admin controllers under app/controllers/admin.

Despite everything working in the development environment i'm getting "The page you were looking for doesn't exist." error when I request http://mydomain.com/content/compare. (i.e. Content::CompareController#index).

My production log contains the lines:
Processing ContentController#compare (for 86.40.236.34 at 2010-08-14 15:03:15) [GET] Authentication: session found, user_id is set

ActionController::UnknownAction (No action responded to compare. Actions: ):

I've called rs.recognize_path 'content/compare' and I get the error: ActionController::RoutingError: No route matches "content/compare" with {}

The same command works with my development machine however. I've tried adding the line map.connect 'content/:controller/:action' to the routes config file but this doesn't have any effect and I don't think it would be useful in the long run either.

Any advice on this? Seems strange that there are inconsistences between the Rails Environments.

Thanks in advance for any help,

A: 

Can we see your routes.rb file?

It appears that on your production machine it is trying to call the compare method in ContentController. Is this the method you want to be calling or is it index?

My guess is there is something wrong in your routes file. You can compare it on both environments by running rake routes.

Jey Balachandran