Rails 3.1 Overwriting images routes for model Image

Today I got problem with Nginx server and passenger.

I have model Image as resource, it has normal paths:

resources :images images GET /images(.:format) {:action=>"index", :controller=>"images"} POST /images(.:format) {:action=>"create", :controller=>"images"} new_image GET /images/new(.:format) {:action=>"new", :controller=>"images"} edit_image GET /images/:id/edit(.:format) {:action=>"edit", :controller=>"images"} image GET /images/:id(.:format) {:action=>"show", :controller=>"images"} PUT /images/:id(.:format) {:action=>"update", :controller=>"images"} DELETE /images/:id(.:format) {:action=>"destroy", :controller=>"images"}

But there is problem, because your public folder already contains images folder.

Maybe it is by my setup but I got error 403 forbidden

The hack is to setup your routes.rb to:

resources :up_images, :controller => "images", :as => "images"

It will setup your paths to /up_images (etc.) and you don’t need to change nothing in your views

images GET /up_images(.:format) {:action=>"index", :controller=>"images"} POST /up_images(.:format) {:action=>"create", :controller=>"images"} new_image GET /up_images/new(.:format) {:action=>"new", :controller=>"images"} edit_image GET /up_images/:id/edit(.:format) {:action=>"edit", :controller=>"images"} image GET /up_images/:id(.:format) {:action=>"show", :controller=>"images"} PUT /up_images/:id(.:format) {:action=>"update", :controller=>"images"} DELETE /up_images/:id(.:format) {:action=>"destroy", :controller=>"images"}

I hope it will help somebody :D