在我的routes.rb 中,我想将 root_path 设置为“/”而不指定任何控制器或操作。那可能吗?
我试过root to: '/'
了,但它抱怨说没有指定控制器或动作。
更新信息:
我正在使用comfort-mexican-sofa CMS,我的root_path 应该转到cms 根路径。
目前我只是redirect_to '/'
在我的控制器中使用,这正在工作,但我认为使用root_path
.
在我的routes.rb 中,我想将 root_path 设置为“/”而不指定任何控制器或操作。那可能吗?
我试过root to: '/'
了,但它抱怨说没有指定控制器或动作。
更新信息:
我正在使用comfort-mexican-sofa CMS,我的root_path 应该转到cms 根路径。
目前我只是redirect_to '/'
在我的控制器中使用,这正在工作,但我认为使用root_path
.
尝试
root :to => "cms/content#show"
来自文档:https ://github.com/comfy/comfortable-mexican-sofa/wiki/Pages
您创建的第一个页面是主页,因此您不能指定 slug。默认情况下,您应该能够在不指定根路由的情况下访问主页。但是,如果您或您正在使用的 gem 需要访问 root_path 帮助程序,
root :to => "cms/content#show"
请在您的路线中指定。
除了公认的答案之外,routes
Rails 的全部内容都是为您的应用程序创建路径
根据ActionDispatch::Routing 中间件文档:
路由模块在原生 Ruby 中提供 URL 重写。这是一种将传入请求重定向到控制器和操作的方法。这取代了 mod_rewrite 规则。最重要的是,Rails 的路由可以与任何 Web 服务器一起使用。路由在 config/routes.rb 中定义
这意味着它的工作routes.rb
是接收入站请求(/
,/posts
等)并重定向到以 ruby 为中心的代码。Ruby 不知道是什么/
——它必须有一个controller
/action
组合
这就是为什么你需要类似的东西:
#config/routes.rb
root to: "controller#action"