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

Ruby on Rails:生成控制器后访问/routeplanner遇路由匹配错误

解决Rails中「No route matches [GET] "/routeplanner"」的问题

嘿,刚接触Rails碰到路由问题太正常了,别慌!咱们一步步来排查解决:

首先说下问题根源:你当前的routes.rb只配置了**根路径(/)**指向routeplanner#index,但并没有为/routeplanner这个路径单独设置路由规则,所以当你访问这个地址时,Rails找不到对应的匹配规则,就抛出了这个错误。

给你两种简单的解决方法,选一种适合你的就行:

方法一:添加单个GET路由

直接在routes.rb里新增一行,明确指定/routeplanner路径对应到控制器的index动作:

Rails.application.routes.draw do
  root :to => 'routeplanner#index'
  get '/routeplanner', to: 'routeplanner#index' # 新增这一行
end

方法二:用resources生成RESTful路由

如果你之后可能需要给这个控制器加其他动作(比如create、show之类的),可以用resources来生成标准的RESTful路由,这里我们可以只生成index动作的路由:

Rails.application.routes.draw do
  root :to => 'routeplanner#index'
  resources :routeplanner, only: [:index] # 仅生成index对应的路由
end

验证路由是否生效

修改完routes.rb后,在终端里运行命令:

rails routes

这个命令会列出当前所有可用的路由,你只要能看到/routeplanner对应的条目,就说明配置成功了。

额外注意点

还要确认你的routeplanner_controller.rb里的控制器类名是正确的,应该是驼峰式的:

class RouteplannerController < ApplicationController
  def index
    # 这里放你的index动作逻辑
  end
end

最后,要是你之前已经启动了服务器,最好重启一下(开发模式下虽然大部分修改会自动重载,但路由修改偶尔需要手动重启才能生效),然后再访问/routeplanner应该就没问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:13:48