通常 rails 项目中会使用 layouts/application.html.erb 来写所有网页的通用 layout 那么如何使用两套 layout,并在相应的页面里指定呢?
葵花宝典
# app/controllers/admin/application_controller.rb class Admin::ApplicationController < ApplicationController layout "admin" # app/views/layouts/admin.html.erb ... end
http://guides.rubyonrails.org/layouts_and_rendering.html#finding-layouts
楼主提问前确实应该自己搜搜
在任何一个 controller 里,都可以手动写上 layout "the_name_of_layout_without_extension"
layout "the_name_of_layout_without_extension"
另做一个 controller,比如叫 admin_controller.rb,然后其他的 controller 继承它。这样就可以在 controller 间共享同一个 layout 了,而不继承它的 controller,还是使用默认的 layout。
admin_controller.rb
class AdminController < ApplicationController layout "admin" end
(脚手架) 在 view 中 layout 下写自己想要的 layout,然后在 controller 所有的方法前书写 layout "自己新写的 layout 的 name"