在路径中设置布局到范围内

时间:2012-08-04 11:40:40

标签: ruby-on-rails layout routing scope

我有管理员控制器,我想为'/ admin'路径设置布局。

我尝试:

scope '/admin' do
  layout 'admin' # did't work
  get '/' => 'admin#index', as: 'admin'
  resources :posts, as: 'admin_posts'
end

我可以在AdminController中设置布局,如:

class AdminController < ApplicationController
  layout 'admin'
end

但这是一种糟糕的方式,因为合理地为从“/ admin”路径

调用的所有控制器使用一些布局

我怎么做?

1 个答案:

答案 0 :(得分:4)

您无法直接在routes.rb中设置布局

我认为你做的是正确的方式

class AdminController < ApplicationController
  layout 'admin'
end

现在,您将使用AdminController在管理范围

中生成其他控制器
class UsersController < AdminController
end

或者如果在命名空间中

class Admin::UsersController < AdminController
end

如果我理解你的问题,那就是我做的事。