# Subdomains

**URL:** <https://www.ruby-forum.com/t/subdomains/149472>\
**Category:** Rails\
**Created:** [September 25, 2008, 6:04am UTC](https://www.ruby-forum.com/t/subdomains/149472 "2008-09-25T06:04:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sav](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/65b543/32.png) [@Sav](https://www.ruby-forum.com/u/Sav)\
**Post date:** [September 25, 2008, 6:04am UTC](https://www.ruby-forum.com/t/subdomains/149472/1 "2008-09-25T06:04:42Z")

</div>

I’ve got a working app at [mysite.com](http://mysite.com) and trying to add  
[iphone.mysite.com](http://iphone.mysite.com) - problem is that I get the classic “Application  
error - Rails application failed to start properly” and I don’t see  
anything new in while tailing my log/development.log file. Any ideas  
where else I can look or what could be wrong?

Here is what is in my controllers/application.rb…

before\_filter :detect\_request

def detect\_request  
request.format = :iphone if iphone\_request?  
request.format = :mobi if mobile\_request?  
end

def iphone\_request?  
request.subdomains.first == “iphone”  
end

def mobile\_request?  
request.subdomains.first == “m”  
end

---

<div class="post-metadata">

**Author:** ![Sav](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/65b543/32.png) [@Sav](https://www.ruby-forum.com/u/Sav)\
**Post date:** [September 25, 2008, 6:45am UTC](https://www.ruby-forum.com/t/subdomains/149472/2 "2008-09-25T06:45:05Z")

</div>

if the application isnt starting it probably isnt a controller, most  
likely something funky in your initializer (config/envrionment.rb) or  
your actual environment file (config/environments/development.rb) or  
possibly in a plugin you recently added. have you changed anything in  
those 3 locations recently?

---

<div class="post-metadata">

**Author:** ![Sav](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/65b543/32.png) [@Sav](https://www.ruby-forum.com/u/Sav)\
**Post date:** [September 25, 2008, 3:54pm UTC](https://www.ruby-forum.com/t/subdomains/149472/3 "2008-09-25T15:54:45Z")

</div>

The only thing I change is that before\_filter :detect\_request

Detecting the browser’s user agent works (see below), but detecting  
subdomains does not.

def iphone\_request?  
# Mobile Safari  
request.env[“HTTP\_USER\_AGENT”] && request.env[“HTTP\_USER\_AGENT”][/  
(Mobile/.+Safari)/]  
end
