命名空间内的UsersController

时间:2019-02-28 08:57:24

标签: ruby-on-rails

我正在尝试从用户开始对我的应用程序的某些部分使用不同的前端和后端视图。

我收到错误uninitialized constant Office::DashboardController,据我了解这意味着找不到控制器?我觉得这是如何设置名称空间/目录的问题,但我似乎无法使用。

routes.rb

namespace :office do
   root to: "dashboard#index"
   resources :users
end

office / dashboards_controller.rb

class Office::DashboardsController < ApplicationController
    layout "office"
end

office / users_controller.rb

class UsersController < Office::DashboardController
    def index
      @users = User.all
    end

    def show
      @user = User.find_by_username(params[:id])
    end
end

我有可能完全搞砸了,这是完全错误的……如果是这样,我希望得到一些反馈!

非常感谢:)

1 个答案:

答案 0 :(得分:0)

您在DashboardController模块中有Office,但是UsersController不在模块中。这是为什么?他们两个都在同一个文件夹中。

所以,要么

class Office::UsersController < Office::DashboardController

module Office
  class UsersController < DashboardController

应能按预期工作。

提示:您可以运行rails routes并查看Rails期望的文件夹/类名称。