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

Rails配置控制器命名空间时出现uninitialized constant Api::Api错误

Rails命名空间控制器路由错误修复

你的问题出在路由配置上:在namespace :api块内,路由的to参数重复添加了api/前缀,导致Rails尝试查找不存在的Api::Api::AuthController,从而抛出uninitialized constant Api::Api错误。

错误的路由代码:

namespace :api do
  get "auth/register", to: "api/auth#register"
end

正确的路由写法:

去掉to参数里的api/前缀即可——namespace :api已经自动为控制器添加了Api::命名空间:

namespace :api do
  get "auth/register", to: "auth#register"
end

补充说明:

你的控制器文件位置和类定义是完全正确的:

  • 文件路径:app/controllers/api/auth_controller.rb
  • 类定义:class Api::AuthController < ApplicationController

Rails的命名空间路由会自动关联对应目录下的控制器,在namespace :api块内,指定控制器时只需写相对路径(比如auth#register对应Api::AuthController的register方法),无需重复命名空间前缀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:05:51