【发布时间】:2017-02-21 16:31:49
【问题描述】:
我正在尝试制作一个具有公共区域和管理仪表板的应用程序。
对于公共区域,我只使用了一个名为 Public 的控制器,并且为此使用了很多视图。每个视图都是我前端的一个区域,位于 views/public 文件夹下。它们是联系方式、关于我们等页面。但最后,我不想在我的网址上出现 public 字样。我只想访问类似的东西:http://localhost:3000/contact 并去正确的地方。此联系人视图中的表单也是如此。
我还有另一个管理员问题。首先,我创建了 Admin 控制器,它的视图:index、login 和 logout。之后,我做了一个 Events 控制器,其中包含以下视图:index、new、edit、show、delete、destroy 和 update。
所以,我不知道我的想法是否正确,但是在搜索了这个主题之后,我为事件控制器做了一个这样的范围路由:
scope module: 'admin', path: 'admin' do
resources :events do
member do
get :delete
end
end
end
我必须将事件视图放在文件夹 views/admin 下,然后更改控制器类名称,将 Admin:: 放在它们的名称之前。此外,控制器 Admin 和 Events 现在位于文件夹 controllers/admin 下。
Events 控制器及其视图似乎工作正常。甚至 CRUD 网址。但我不知道如何将 Admin 控制器路由置于 admin 范围 之下。 我的目的是制作这样的网址:http://localhost:3000/admin/ 它应该带我去:admin/admin#index
我也尝试将 Admin 路由置于 admin 范围内,但没有成功。是这样的:
scope module: 'admin', path: 'admin' do
get 'admin/index'
get 'admin/login'
get 'admin/logout'
resources :events do
member do
get :delete
end
end
end
我也试过这个:
scope module: 'admin', path: 'admin' do
get 'index'
get 'login'
get 'logout'
resources :events do
member do
get :delete
end
end
end
也没有用。我对这条路线的想法是否正确?如果没有,我错过了什么?
【问题讨论】:
-
对于非命名空间,非
admin/admin,只是admin/去controllers/admin_controller.rb,使用controller :admin do; get 'admin/', action: :index; end
标签: ruby-on-rails