我建议删除Admin模型,因为在您的情况下,它看起来更像是一个命名空间而不是一个模型。我会:admin在您的routes.rb文件中创建一个命名空间,例如:
namespace :admin do
resources :posts
end
这将导致该块内的所有路由都以 w/ 为前缀admin。因此,在管理员端编辑帖子的 URL 将是admin/posts/:id/edit.
接下来,我建议AdminController您创建一个所有管理员控制器都将从中继承的。这样您就可以指定新的布局。然后你可以创建一个Admin::PostsControlleratapp/controllers/admin/posts_controller.rb
应用程序/控制器/admin_controller.rb
class AdminController < ApplicationController
layout 'admin'
end
应用程序/控制器/管理员/posts_controller.rb
class Admin::PostsController < AdminController
def index
# admin/posts
end
end
app/views/admin/posts/index.html.erb
Hello from the admin/posts view!