0

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

4

1 回答 1

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
于 2013-03-05T19:22:50.007 回答