You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails新手访问localhost:3000/home/index触发路由错误如何解决

问题产生原因
  • 你遇到的是标准的Rails路由匹配错误,日志中的ActionController::RoutingError (No route matches [GET] "/home/index")已经明确指出:当前Rails应用的路由配置中没有声明/home/index对应的映射规则,因此无法响应这个路径的GET请求。
  • 根路径可以正常访问是Rails开发环境的默认机制:当你没有配置根路由root时,框架会自动加载内置的欢迎页面,和你自定义的home页面路由没有关联。
解决步骤
  1. 首先确认你已经创建了Home控制器和对应的index动作,如果还没创建,先在项目根目录执行生成命令:
rails generate controller Home index

这条命令会自动生成Home控制器文件、index视图文件,同时会自动在路由配置中添加/home/index的路由规则。

  1. 如果你已经创建过控制器,手动检查config/routes.rb文件,确保添加了以下配置:
# 仅配置/home/index路径的访问规则
get 'home/index'
# 如果需要将网站根路径指向home index页,额外添加以下配置
root 'home#index'
  1. 配置完成后执行命令rails routes验证路由是否生效,输出中能找到如下对应条目即可:
Prefix  Verb  URI Pattern               Controller#Action
home_index GET  /home/index(.:format)    home#index
  1. 重启Rails服务后重新访问http://localhost:3000/home/index,即可正常加载页面。

内容的提问来源于stack exchange,提问作者ExtremeNewbie85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:39:00