我尝试打开users/new,但出现路由错误

I try to open users/new but I get routing error

提问人:William 提问时间:7/7/2023 最后编辑:smathyWilliam 更新时间:7/7/2023 访问量:42

问:

我是一个刚刚起步的程序员,但我不知道如何修复这个错误,因为我没有看到其中有任何缺陷 我需要帮助才能继续该项目

路线

Rails.application.routes.draw do
  resources :categories, except: :show
  resources :products, path: "/"

  namespace :authentication, path: '', as: '' do
    resources :users, only: [:new, :create]
  end
end

错误控制台

Started GET "/users/new" for 127.0.0.1 at 2023-07-06 12:40:57 -0500
  
ActionController::RoutingError (uninitialized constant Authentication::UsersController):

用户控制器

class Authentication::UsersController < ApplicationController
    def new
        @user = User.new
    end

    def create
        @user = User.new(user_params)

        if @user.save
            redirect_to products_path, notice: t('.created')
        else
            render :new, status: :unprocessable_entity
        end
    end

    private

    def user_params
        params.require(:user).permit(:email, :username, :password)
    end
end

我可以输入 users/new 并查看表单

Ruby-on-Rails Ruby 身份验证 路由 控制器

评论

1赞 smathy 7/7/2023
代码中没有什么明显的,您是否尝试过重新启动服务器?另外,定义类的文件的完整路径是什么?Authentication::UsersController
3赞 Les Nightingill 7/7/2023
这可能是 Zeitwerk 的问题......从 Rails 根目录到 users_controller.rb 的路径是什么。我认为zeitwerk没有找到文件。它应该是 app/controllers/authentication/users_controller.rb。请参阅 guides.rubyonrails.org/...
0赞 Praveen 7/7/2023
尝试使用其他命名空间名称
0赞 Anes 7/7/2023
我觉得您的控制器所在的目录是问题所在

答: 暂无答案