Ruby on rails 3 如何在两种不同的布局中显示一个模型?

Ruby on rails 3 如何在两种不同的布局中显示一个模型?,ruby-on-rails-3,Ruby On Rails 3,我有两种布局:admin\u layout.html.erb和application.html.erb。管理员在admin\u布局中工作并创建用户。在admin\u布局下,每个用户都有一个show页面。但是现在我想让公众在应用程序布局下查看每个用户的显示页面的公共版本。是否可以根据布局显示两个不同的show操作,或者我是否需要构建类似于public\u users\u controller的东西?您可以指定在操作中使用哪个布局,还可以告诉它呈现与当前操作名称不同的模板。在此示例中,将使用app/

我有两种布局:
admin\u layout.html.erb
application.html.erb
。管理员在
admin\u布局中工作并创建用户。在
admin\u布局下,每个用户都有一个
show
页面。但是现在我想让公众在
应用程序
布局下查看每个用户的
显示
页面的公共版本。是否可以根据布局显示两个不同的
show
操作,或者我是否需要构建类似于
public\u users\u controller
的东西?

您可以指定在操作中使用哪个布局,还可以告诉它呈现与当前操作名称不同的模板。在此示例中,将使用
app/views/layouts/application.html.erb
布局向公共用户显示
app/views/users/public\u show.html.erb
文件

def show
  if current_user.admin? # Or however you want to determine which layout to use
    render :layout => "admin_layout"
  else
    render "public_show", :layout => "application"
  end
end

谢谢,就一半了。但是,如何让一个显示页面用于管理布局,而另一个显示页面用于应用程序布局?