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
谢谢,就一半了。但是,如何让一个显示页面用于管理布局,而另一个显示页面用于应用程序布局?