# Namespaced layouts?

**URL:** <https://www.ruby-forum.com/t/namespaced-layouts/148224>\
**Category:** Rails\
**Created:** [September 10, 2008, 4:48pm UTC](https://www.ruby-forum.com/t/namespaced-layouts/148224 "2008-09-10T16:48:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Danimal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/bb73d2/32.png) [@Danimal](https://www.ruby-forum.com/u/Danimal)\
**Post date:** [September 10, 2008, 4:48pm UTC](https://www.ruby-forum.com/t/namespaced-layouts/148224/1 "2008-09-10T16:48:45Z")

</div>

Hello!

Is it just me or are layouts not namespaced automatically?

For example, using the typical namespaced admin section, I have:

apps/controllers/admin/users\_controller.rb # for example  
apps/views/admin/users/index.html.erb

I then added this:  
apps/views/admin/layouts/application.html.erb

But it won’t use that layout… it’s looking for:  
apps/views/layouts/application.html.erb

Why are views namespaced but layouts aren’t? There are lots of  
“solutions” to this, I know, but I’m trying to understand why Rails  
won’t look at “apps/views/admin/layouts/” for layouts within the admin  
namespace?

Or maybe I’m missing something?

Thanks,

-Danimal

---

<div class="post-metadata">

**Author:** ![Danimal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/bb73d2/32.png) [@Danimal](https://www.ruby-forum.com/u/Danimal)\
**Post date:** [September 10, 2008, 7:11pm UTC](https://www.ruby-forum.com/t/namespaced-layouts/148224/2 "2008-09-10T19:11:12Z")

</div>

Somewhat of an answer, somewhat of a new question…

It looks like layouts use namespacing, but “backwards” from everything  
else. In other words, given my namespaced “admin”, It would look for  
layouts in:

apps/views/layouts/admin/whatever.html.erb

I’m wondering why that way and not:

apps/views/admin/layouts/whatever.html.erb

The advantage to the latter would be that layouts and views would all  
“live” under the admin folder. Ahh well.

Any insight on the why? I.e. why it is this way?

-Danimal

---

<div class="post-metadata">

**Author:** ![Danimal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/bb73d2/32.png) [@Danimal](https://www.ruby-forum.com/u/Danimal)\
**Post date:** [September 11, 2008, 2:31pm UTC](https://www.ruby-forum.com/t/namespaced-layouts/148224/3 "2008-09-11T14:31:07Z")

</div>

My guess is that layouts span across controllers and views…aka  
namespaces. I have one layout for my entire app mostly. And where I  
have another layout is for public pages, but these layout are in no  
way controller specific. Thou I do see apps where this makes sense.

Ray

---

<div class="post-metadata">

**Author:** ![Danimal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/bb73d2/32.png) [@Danimal](https://www.ruby-forum.com/u/Danimal)\
**Post date:** [September 11, 2008, 3:17pm UTC](https://www.ruby-forum.com/t/namespaced-layouts/148224/4 "2008-09-11T15:17:35Z")

</div>

## The application layout is for the entire application and it doesn’t care about what namespace you’re in. If you really wanted a different layout you could use the layout method in your controller to tell it which one you want.

Ryan B.  
Freelancer  
Skype: radarlistener  
MSN & Gtalk: removed\_email\_address@domain.invalid
