gla*_*kou 2 ruby ruby-on-rails ruby-on-rails-3
我看到很多关于在Rails 3中创建另一个部分的讨论,但没有完整的指南.
我想创建另一个部分,例如
/admin/...
Run Code Online (Sandbox Code Playgroud)
我以前的所有控制器都继承自
ApplicationController
Run Code Online (Sandbox Code Playgroud)
并使用
layout/application.html.erb
Run Code Online (Sandbox Code Playgroud)
所以现在我希望位于新创建的/ admin/...目录中的每个控制器继承形式不同的BaseController并使用与application.html.erb不同的布局.如果可以的话,你可以提供一个关于在/ admin /中创建哪些文件的指南...哪些用于布局以及我必须在路径文件中放置什么?
提前致谢.
在你的控制器下创建一个admin目录,然后有一个'admin'控制器(所以它们继承了set layout - 对强制认证也很有用),例如
class Admin::AdminController < ApplicationController
layout 'admin/admin'
end
Run Code Online (Sandbox Code Playgroud)
然后将管理目录中的其他控制器扩展到管理控制器,例如
class Admin::CategoriesController < Admin::AdminController
def index
...
end
end
Run Code Online (Sandbox Code Playgroud)
您还需要在布局下创建一个admin文件夹和admin.html.erb(或者您正在使用的任何模板引擎,布局显然可以根据您的喜好命名).其他管理控制器方法的视图也需要存放在各自的管理文件夹下,例如app/views/admin/categories/index.html.erb(第二个admin是控制器的名称)
您还需要在您的路线中添加路线routes.rb- 假设Rails 3
namespace :admin do
root :to => 'admin#index' #default page when accessing /admin
resources :categories #whatever resources you want
...
end
Run Code Online (Sandbox Code Playgroud)