命名空间路由

时间:2011-02-22 03:18:30

标签: ruby-on-rails ruby routes

我必须在Rails 3中通过这个相当简单的路由实现而遗漏一些东西。

我有一个类似命名空间的路由:

namespace 'dashboard' do
  get 'download', to: "Index#download"
end

如果我运行rake routes,我会看到:

dashboard_download  GET  /dashboard/download(.:format) {:action=>"download", :controller=>"dashboard/Index"}

URL是超级的,这正是我想要的(并且在命名空间中会有更多匹配),但控制器是错误的。它应该是Index,而不是dashboard/Index

有没有办法解决这个问题? 或者这是实施这种风格的错误方式吗?

干杯。

1 个答案:

答案 0 :(得分:2)

要删除模块前缀,请执行以下操作:

scope '/dashboard' do
  get 'download', to: "Index#download"
end

您可以找到更多信息和替代方案here