【发布时间】:2023-03-11 12:49:02
【问题描述】:
我已将我的 Rails 应用程序拆分为一个管理目录和一个公共目录。
admin 目录位于 Admin:: 命名空间 (/admin) 中。
当我在 Admin:: 命名空间和普通根映射区域中创建一个名为 Forums 的控制器时,路由似乎为 /forums 和 /admin/forums 找到了 Admin::Forums 控制器。
所以 /admin/forums => "app/controllers/admin/forums_controller.rb" 所以 /forums => "app/controllers/admin/forums_controller.rb"
不确定为什么会发生这种情况,根控制器是否以某种方式在两个控制器之间继承?当我尝试在非管理员论坛控制器中执行代码时,什么都没有执行。
这是我的路线:
map.resources :forums, :only => [:index,:show] do |forum|
forum.resources :topics, :shallow => true, :only => [:index,:show], :name_prefix => ""
end
map.namespace :admin, :name_prefix => "", :path_prefix => "/admin", :name_prefix => "admin_" do |admin|
admin.resources :forums, :name_prefix => 'admin_' do |forum|
forum.resources :topics, :name_prefix => 'admin_' do |topic|
topic.resources :posts, :name_prefix => 'admin_'
end
end
end
有什么想法吗?
【问题讨论】:
-
这与您的其他问题有点重复:stackoverflow.com/questions/3146659/…
标签: ruby-on-rails model-view-controller routing content-management-system namespaces