如何向路由Rails 3添加新的自定义资源

如何在Rails 3路由中为新资源添加自定义路由?

我知道如何为集合和成员这样做,但这种风格似乎不适用于新资源。 这是一个错误还是我做错了什么?

所以这些工作:

collection do get :wish end member do get :wish end 

但这不起作用:

 new do get :wish end 

试试这个:

 resources : do member do get '' end end 

举个例子,让我们看看你有一个名为’main’的控制器,如果你有一个自定义动作’dashbord’

 resources :admin do member do get 'dashbord' end end 

换句话说,你想匹配以下内容:

example.com/foos/new/custom而不是example.com/foos/1/custom/example.com/foos/custom

这不是RESTful,这意味着它没有自动路由。 你应该能够使用非资源路由来做到这一点,即这样的事情应该有效:

match 'resource/new/custom'=>'resource#custom'

…’custom’是控制器中的动作名称。

有关更多选项和详细信息,请参阅导轨指南 。