【问题标题】:set layout in routes into the scope将路线中的布局设置到范围内
【发布时间】:2012-08-04 11:40:39
【问题描述】:

我有管理员控制器,我想为“/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' 路径调用的控制器使用一些布局

我该怎么做?

【问题讨论】:

  • 你能解释一下你到底想做什么吗?您想在管理范围内的每个控制器中使用管理布局吗?

标签: ruby-on-rails layout routing scope


【解决方案1】:

你不能直接在你的 routes.rb 中设置布局

我认为你的做法是正确的

class AdminController < ApplicationController
  layout 'admin'
end

现在您将使用 AdminController 在管理范围内生成其他控制器

class UsersController < AdminController
end

或者如果在命名空间中

class Admin::UsersController < AdminController
end

如果我确实理解了您的问题,我就是这样做的。

【讨论】:

  • 我将使用文件夹放入控制器文件夹并使用类 Admin::UsersController
猜你喜欢
  • 1970-01-01
  • 2010-10-21
  • 2020-10-03
  • 2015-03-22
  • 1970-01-01
  • 2014-02-06
  • 2022-01-13
  • 1970-01-01
  • 2020-02-21
相关资源
最近更新 更多