# Can't convert nil into String error

**URL:** <https://www.ruby-forum.com/t/cant-convert-nil-into-string-error/179271>\
**Category:** Rails\
**Created:** [November 20, 2009, 7:46pm UTC](https://www.ruby-forum.com/t/cant-convert-nil-into-string-error/179271 "2009-11-20T19:46:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![introvert](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/c37758/32.png) [@introvert](https://www.ruby-forum.com/u/introvert)\
**Post date:** [November 20, 2009, 7:46pm UTC](https://www.ruby-forum.com/t/cant-convert-nil-into-string-error/179271/1 "2009-11-20T19:46:58Z")

</div>

Hello,

Why is this code causing the following error:

can’t convert nil into String

class ApplicationController \< ActionController::Base  
helper :all # include all helpers, all the time  
protect\_from\_forgery # See ActionController::RequestForgeryProtection  
for details

def current\_site  
return @site if defined?(@site)  
@site = Site.find\_by\_domain(request.domain)  
end  
end

if I remove this line:

@site = Site.find\_by\_domain(request.domain)

The error will dissapear.

Any idea what am I doing wrong?

Many thanks for help!

---

<div class="post-metadata">

**Author:** ![introvert](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/c37758/32.png) [@introvert](https://www.ruby-forum.com/u/introvert)\
**Post date:** [November 20, 2009, 10:18pm UTC](https://www.ruby-forum.com/t/cant-convert-nil-into-string-error/179271/2 "2009-11-20T22:18:55Z")

</div>

Al F. wrote:

> @site = Site.find\_by\_domain(request.domain)

My guess is that request.domain is somehow return nil. Have you checked  
for that?

---

<div class="post-metadata">

**Author:** ![introvert](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/c37758/32.png) [@introvert](https://www.ruby-forum.com/u/introvert)\
**Post date:** [November 21, 2009, 5:55am UTC](https://www.ruby-forum.com/t/cant-convert-nil-into-string-error/179271/3 "2009-11-21T05:55:54Z")

</div>

Robert W. wrote:

> Al F. wrote:
> 
> > @site = Site.find\_by\_domain(request.domain)
> 
> My guess is that request.domain is somehow return nil. Have you checked  
> for that?

Hi Al F,

First check the parameter ‘request’ by

puts request.inspect

It returns the domain name ‘nil’, if you are working in your local  
system and it returns domain name, if you check it in any server.

thanks,  
vaddi
