我只是将我的应用程序升级到Rails 3,因为无论如何我必须重写我的路由,我需要一些时间来改进我的命名路由。
我有一个发票控制器,它有一个垃圾箱动作(/发票/垃圾箱列出垃圾箱里的所有发票)。我想通过命名路由(即trash_url)访问它,以简化我的观点。
我可以通过以下
轻松实现这一目标match "/invoices/trash" => "invoices#trash", :as => :trash
我想知道的是,如果有一种方法可以在我定义发票控制器路径的块中执行此操作。我尝试了以下内容,但它不起作用。
resources :invoices do
collection do
get :trash, :as => :trash
end
end
我正在尝试做什么,还是我必须在这个区块之外定义我的命名路线?
感谢。
答案 0 :(得分:2)
您列出的方法(如下所示)适用于我,它会生成trash_invoices_path
和trash_invoices_url
辅助方法。
resources :invoices do
collection do
get :trash, :as => :trash
end
end
如果您需要使用这些特定的方法名称而不是使用生成的。