# "conditional" layout according to XHR or not

**URL:** <https://www.ruby-forum.com/t/conditional-layout-according-to-xhr-or-not/108912>\
**Category:** Rails\
**Created:** [July 9, 2007, 12:07pm UTC](https://www.ruby-forum.com/t/conditional-layout-according-to-xhr-or-not/108912 "2007-07-09T12:07:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![AurSSSSlien\_Malisar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d78d45/32.png) [@AurSSSSlien\_Malisar](https://www.ruby-forum.com/u/AurSSSSlien_Malisar)\
**Post date:** [July 9, 2007, 12:07pm UTC](https://www.ruby-forum.com/t/conditional-layout-according-to-xhr-or-not/108912/1 "2007-07-09T12:07:45Z")

</div>

Hi. This is what I mean:  
Let’s consider a ‘show’ action called by URLs of the form: “GET /posts/  
42”  
In this project, this action can be either called directly or within a  
page with XHR (ajax). Is there a pretty way to render the page within  
the layout when it’s a direct call, and without it when it’s an XHR  
call?

Thank you…

---

<div class="post-metadata">

**Author:** ![AurSSSSlien\_Malisar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d78d45/32.png) [@AurSSSSlien\_Malisar](https://www.ruby-forum.com/u/AurSSSSlien_Malisar)\
**Post date:** [July 9, 2007, 12:19pm UTC](https://www.ruby-forum.com/t/conditional-layout-according-to-xhr-or-not/108912/2 "2007-07-09T12:19:46Z")

</div>

On 7/9/07, Aurélien Malisart [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> >

class FooController  
layout :select\_layout

private  
def select\_layout  
return nil if request.xhr?  
“my\_layout”  
end  
end

Though if you’re getting an xhr request shouldn’t you be returning  
javascript anyway? There’d be no layout for that.

Pat

---

<div class="post-metadata">

**Author:** ![AurSSSSlien\_Malisar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d78d45/32.png) [@AurSSSSlien\_Malisar](https://www.ruby-forum.com/u/AurSSSSlien_Malisar)\
**Post date:** [July 9, 2007, 12:44pm UTC](https://www.ruby-forum.com/t/conditional-layout-according-to-xhr-or-not/108912/3 "2007-07-09T12:44:49Z")

</div>

Thanks!

> Though if you’re getting an xhr request shouldn’t you be returning  
> javascript anyway? There’d be no layout for that.

In that case, i’m returning the rendering of a partial (a form).
