2012-05-24 34 views
3

我有一个名为“my_store”的Rails 3应用程序中的控制器。我希望能够按原样使用此控制器,只是将所有URL中的“my_store”替换为其他名称。我不想重命名控制器文件和所有对它的引用。有没有一种干净的方式来做到这一点只是一个路由声明?如何使用路径重命名Rails控制器?

回答

5

如果使用REST风格的路线:

resources :another_name, :controller => "my_store" 

否则:

match "another_name" => "my_store" 
4

如果您的路由是RESTful,这很容易。

resources :photos, :controller => "images" 

你可以看到如何做到这一点和其他有用的Rails路由在Rails routing guide信息。

0

更新,其他人是正确的,以取代所有的引用,你会改变资源名称和在routes.rb相应的控制器!我的答案只是设定一个特定的路线。

是啊,你会在你的routes.rb使用:as选项来指定做这个

例如:

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

source