如何向路由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’是控制器中的动作名称。
有关更多选项和详细信息,请参阅导轨指南 。