,可以通过使用命名空间和路由约束来实现。
首先,创建一个命名空间来隐藏控制器。在Rails应用程序的app/controllers
目录下创建一个新的文件夹,例如admin
,然后在该文件夹下创建控制器文件,例如users_controller.rb
。在控制器文件中,定义一个命名空间,例如Admin
,并将控制器类放在该命名空间下,如下所示:
module Admin
class UsersController < ApplicationController
# 控制器的代码
end
end
接下来,配置路由以隐藏控制器。在Rails应用程序的config/routes.rb
文件中,使用namespace
方法来定义命名空间,并将命名空间下的控制器与路由关联起来,如下所示:
Rails.application.routes.draw do
namespace :admin do
resources :users
end
end
上述代码将创建以下路由:
/admin/users # 显示所有用户
/admin/users/new # 创建新用户的表单
/admin/users/:id # 显示特定用户的详细信息
/admin/users/:id/edit # 编辑特定用户的表单
通过这种方式,控制器将被隐藏在子目录admin
下,对外部用户来说,控制器的存在将不可见。
关于Rails应用程序部署到子目录的更多信息,可以参考腾讯云的产品介绍页面:腾讯云云服务器。
领取专属 10元无门槛券
手把手带您无忧上云