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