0

我的路线中有这个:

resources :cvits

产生这些路线:

 cvits    GET    /cvits(.:format)           {:controller=>"cvits", :action=>"index"}
          POST   /cvits(.:format)           {:controller=>"cvits", :action=>"create"}
 new_cvit GET    /cvits/new(.:format)       {:controller=>"cvits", :action=>"new"}
edit_cvit GET    /cvits/:id/edit(.:format)  {:controller=>"cvits", :action=>"edit"}
     cvit GET    /cvits/:id(.:format)       {:controller=>"cvits", :action=>"show"}
          PUT    /cvits/:id(.:format)       {:controller=>"cvits", :action=>"update"}
          DELETE /cvits/:id(.:format)       {:controller=>"cvits", :action=>"destroy"}

但我希望我的网址是单数的(例如 /cvit/、/cvit/new、/cvit/:id)。改变这个最简单的方法是什么??????

谢谢!!!!

已解决:想通了,我做到了:

资源 :cvits, :path => 'cvit'

4

2 回答 2

2

好:

resources :cvit

在此处查看文档:http: //guides.rubyonrails.org/routing.html#singular-resources

或者更合适:

resources :cvits, :path => "cvit"

相同的文档页面。

于 2011-07-28T15:27:37.477 回答
0

你只想要一个单一的资源:

resouce :cvit

# instead of 
resources :cvits

请注意,您的控制器名称等仍将是复数(CvitsController)。为了另外指定,您可以通过:

resource :cvit, :controller => 'cvit'

另外,请注意,当您执行此操作时,您没有索引操作。单一资源假设那里只有一件事,而不是很多。

假设这是您所拥有的(单一资源),这比传递path选项要好。该path选项只是覆盖名称而不是行为(即您仍然有一个索引,即使如果您正在处理一个单一的资源这没有意义)。

于 2011-07-28T15:58:20.207 回答