# Rails layouts

**URL:** <https://www.ruby-forum.com/t/rails-layouts/188568>\
**Category:** Rails\
**Created:** [May 14, 2010, 2:20am UTC](https://www.ruby-forum.com/t/rails-layouts/188568 "2010-05-14T02:20:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![davidz101](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f0a364/32.png) [@davidz101](https://www.ruby-forum.com/u/davidz101)\
**Post date:** [May 14, 2010, 2:20am UTC](https://www.ruby-forum.com/t/rails-layouts/188568/1 "2010-05-14T02:20:10Z")

</div>

Hey

Right now, I have a lot of controllers/views

Half of them require one type of layout, the other half requires  
another type of layout.

right now, the first half of my views uses the application.html.erb

Now, there are another bunch of views. How can I assign them all to  
application2.html.erb??

I don’t want to assign a seperate layout for each of the controllers,  
and application.html.erb is already used. thanks

---

<div class="post-metadata">

**Author:** ![davidz101](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f0a364/32.png) [@davidz101](https://www.ruby-forum.com/u/davidz101)\
**Post date:** [May 14, 2010, 3:29am UTC](https://www.ruby-forum.com/t/rails-layouts/188568/2 "2010-05-14T03:29:13Z")

</div>

hi,  
i know in controller ,use

layout ‘application2’  
can change default layout.

2010/5/14 David Z. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> application2.html.erb??  
> .  
> For more options, visit this group at  
> [http://groups.google.com/group/rubyonrails-talk?hl=en](http://groups.google.com/group/rubyonrails-talk?hl=en).

–  
tommy xiao  
E-mail: xiaods(AT)[gmail.com](http://gmail.com)

---

<div class="post-metadata">

**Author:** ![davidz101](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f0a364/32.png) [@davidz101](https://www.ruby-forum.com/u/davidz101)\
**Post date:** [May 14, 2010, 4:07am UTC](https://www.ruby-forum.com/t/rails-layouts/188568/3 "2010-05-14T04:07:16Z")

</div>

Hi David,

On Thu, May 13, 2010 at 7:16 PM, David Z.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> application2.html.erb??
> 
> I don’t want to assign a seperate layout for each of the controllers,  
> and application.html.erb is already used. thanks

Assuming that your views / layouts are specific to controllers, one way  
to  
handle this is to have you controllers inherit from a ‘child’ of  
ApplicationController Pseudocode follows.

ApplicationControllerForLayoutOne \<\< ApplicationController  
layout :layout1  
end

OneController \< ApplicationControllerForLayoutOne  
end

ApplicationControllerForLayoutTwo \<\< ApplicationController  
layout :layout2  
end

AnotherController \< ApplicationControllerForLayoutTwo  
end

HTH,  
Bill

---

<div class="post-metadata">

**Author:** ![davidz101](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f0a364/32.png) [@davidz101](https://www.ruby-forum.com/u/davidz101)\
**Post date:** [May 14, 2010, 3:30am UTC](https://www.ruby-forum.com/t/rails-layouts/188568/4 "2010-05-14T03:30:59Z")

</div>

more guide:

> **[Layouts and Rendering in Rails — Ruby on Rails Guides](https://guides.rubyonrails.org/layouts_and_rendering.html#using-nested-layouts)**
>
> Layouts and Rendering in RailsThis guide covers the basic layout features of Action Controller and Action View.After reading this guide, you will know: How to use the various rendering methods built into Rails. How to create layouts with multiple...

2010/5/14 tommy xiao [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> > I don’t want to assign a seperate layout for each of the controllers,  
> > [http://groups.google.com/group/rubyonrails-talk?hl=en](http://groups.google.com/group/rubyonrails-talk?hl=en).
> 
> –  
> tommy xiao  
> E-mail: xiaods(AT)[gmail.com](http://gmail.com)

–  
tommy xiao  
E-mail: xiaods(AT)[gmail.com](http://gmail.com)
