Ruby on rails 我想创建一个在URL中没有规定控制器的rails路由
我希望创建到控制器的路由,但我不希望在URL中指定该控制器的名称 所以url应该是这样的。 www.blabla.com/about_us.html 我不想要一个关于我们的控制器,相反我想要一个主控制器和一个关于我们的动作 我已经从里到外阅读了这些路线,但没有一个实例说明如何做到这一点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 现在,可以直接访问主控
有人知道如何将无控制器路由与特定控制器匹配吗?您可以使用路径:选项
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。我很好奇您为什么要使用它,建议您添加匹配路径。