Ruby on rails 我想创建一个在URL中没有规定控制器的rails路由

Ruby on rails 我想创建一个在URL中没有规定控制器的rails路由,ruby-on-rails,controller,routes,Ruby On Rails,Controller,Routes,我希望创建到控制器的路由,但我不希望在URL中指定该控制器的名称 所以url应该是这样的。 www.blabla.com/about_us.html 我不想要一个关于我们的控制器,相反我想要一个主控制器和一个关于我们的动作 我已经从里到外阅读了这些路线,但没有一个实例说明如何做到这一点 有人知道如何将无控制器路由与特定控制器匹配吗?您可以使用路径:选项 resources :main, path: "/", only: [] do get :about_us end 现在,可以直接访问主控

我希望创建到控制器的路由,但我不希望在URL中指定该控制器的名称

所以url应该是这样的。 www.blabla.com/about_us.html

我不想要一个关于我们的控制器,相反我想要一个主控制器和一个关于我们的动作

我已经从里到外阅读了这些路线,但没有一个实例说明如何做到这一点


有人知道如何将无控制器路由与特定控制器匹配吗?

您可以使用路径:选项

resources :main, path: "/", only: [] do
  get :about_us
end
现在,可以直接访问主控制器中的所有操作,而不需要url中的控制器名称
例如:localhost:3000/about_us

您可以在路由指南中看到类似的示例:

以::注销的方式获取“退出”到“会话销毁”

您可以使用:

获取“关于我们”,至:“关于我们的主要信息”

尝试:

resources :main,:path => '',:only => []
现在,在url中没有控制器名称main的情况下,可以访问MainController的所有操作。

我决定了

MainController.action_methods.each{ |a| a = a.to_s; match a => 'main#'+a}

无法访问私人操作,但所有其他操作都是

匹配“关于我们”:to=>“MainControllerableOut\u-us”

@baash05如果是restful路由,它对我有效。您还可以使用match about_us=>main about_us,:as=>about_us。您可以在视图中使用about_-us_-path。我很好奇您为什么要使用它,建议您添加匹配路径。