两个“全局”/应用程序布局

时间:2011-07-26 18:05:13

标签: ruby-on-rails ruby

我是Rails的新手,我想知道是否有可能有两种不同的应用程序布局?我希望我的网站的公共界面看起来与管理员看到的不同。因此,所有公共操作都将在一个应用程序布局中呈现,而所有管理操作将在另一个应用程序布局中呈现。

2 个答案:

答案 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