ragingsquirrel3
ragingsquirrel3

Reputation: 425

How can I rename a Rails controller with a route?

I have a controller in a Rails 3 app named "my_store." I would like to be able to use this controller as is, except replacing "my_store" in all the URL's with another name. I do not want to rename the controller file, and all the references to it. Is there a clean way to do this with just a routing statement?

Upvotes: 4

Views: 3573

Answers (3)

Mike Vormwald
Mike Vormwald

Reputation: 2310

Update, the other guys are correct, to replace all references you would change the resources name and corresponding controller in routes.rb! My answer is only good to set a specific route.

Yup, you would do this in your routes.rb using the :as option to specify

example:

match 'exit' => 'sessions#destroy', :as => :logout

source

Upvotes: 0

davids
davids

Reputation: 6371

If you use RESTful routes:

resources :another_name, :controller => "my_store"

Otherwise:

match "another_name" => "my_store"

Upvotes: 7

Veraticus
Veraticus

Reputation: 16084

If your routes are RESTful, this is pretty easy.

resources :photos, :controller => "images"

You can see how to do this and other helpful Rails routing information in the Rails routing guide.

Upvotes: 4

Related Questions