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