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

时间:2013-03-05 18:56:04

标签: ruby-on-rails-3

我有两种布局:admin_layout.html.erbapplication.html.erb。管理员在admin_layout中工作并创建用户。 show下的每个用户都有一个admin_layout页面。但现在我希望公众在show布局下查看每个用户的application页面的公开版本。是否可以根据布局显示两个不同的show操作,还是需要构建类似public_users_controller的内容?

1 个答案:

答案 0 :(得分:0)

您可以指定在操作中使用的布局,也可以告诉它呈现与当前操作名称不同的模板。在此示例中,公共用户将使用app/views/users/public_show.html.erb布局显示app/views/layouts/application.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