我是Rails的新手,我想知道是否有可能有两种不同的应用程序布局?我希望我的网站的公共界面看起来与管理员看到的不同。因此,所有公共操作都将在一个应用程序布局中呈现,而所有管理操作将在另一个应用程序布局中呈现。
答案 0 :(得分:3)
您可以在application_controller中确定要与before_filter
一起使用的布局。
class ApplicationController < ActionController::Base
# other implementation
layout :determine_layout
def determine_layout
current_user.admin? ? "admin" : "application"
end
end
答案 1 :(得分:2)
class ApplicationController < ActionController::Base
layout Proc.new { |controller| controller.signed_in? ? 'admin' : 'application' }
end