我正在为我的应用构建自定义管理部分,我希望:admin
命名空间有自己的布局。
到目前为止,我一直在app / controllers / application_controller.rb中使用它:
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
layout :cond_layout
def cond_layout
if controller_path.split("/").first == "admin"
"panel"
else
"application"
end
end
end
一位朋友告诉我使用它,但它闻起来很腥。除了Semantic-UI在admin命名空间中停止工作。我做错了什么?
答案 0 :(得分:1)
如果你有,你可能在admin命名空间中也有一些Admin :: MainController.rb?然后不要犹豫,在那里覆盖布局。 Imho,更干净..
答案 1 :(得分:0)
找一种方法,一种我认为干净的方式。
定义名为foo
的新布局。然后像这样的管理员控制器:
class AdminController < ApplicationController
layout "foo"
before_action :bar
end
现在,每个继承自AdminController
的控制器都会呈现foo
布局并执行bar
操作。