是否可以在资源丰富的路径中指定命名路由?

时间:2011-03-30 01:08:49

标签: ruby-on-rails ruby-on-rails-3 routing named-routing

我只是将我的应用程序升级到Rails 3,因为无论如何我必须重写我的路由,我需要一些时间来改进我的命名路由。

我有一个发票控制器,它有一个垃圾箱动作(/发票/垃圾箱列出垃圾箱里的所有发票)。我想通过命名路由(即trash_url)访问它,以简化我的观点。

我可以通过以下

轻松实现这一目标
match "/invoices/trash" => "invoices#trash", :as => :trash

我想知道的是,如果有一种方法可以在我定义发票控制器路径的块中执行此操作。我尝试了以下内容,但它不起作用。

resources :invoices do
  collection do
    get :trash, :as => :trash
  end
end

我正在尝试做什么,还是我必须在这个区块之外定义我的命名路线?

感谢。

1 个答案:

答案 0 :(得分:2)

您列出的方法(如下所示)适用于我,它会生成trash_invoices_pathtrash_invoices_url辅助方法。

resources :invoices do
  collection do
    get :trash, :as => :trash
  end
end

如果您需要使用这些特定的方法名称而不是使用生成的。

相关问题