# Got an error on returning data as json format when the data is nil

**URL:** <https://www.ruby-forum.com/t/got-an-error-on-returning-data-as-json-format-when-the-data-is-nil/157419>\
**Category:** Rails\
**Created:** [January 11, 2009, 2:30am UTC](https://www.ruby-forum.com/t/got-an-error-on-returning-data-as-json-format-when-the-data-is-nil/157419 "2009-01-11T02:30:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![wolfgang](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wolfgang](https://www.ruby-forum.com/u/wolfgang)\
**Post date:** [January 11, 2009, 2:30am UTC](https://www.ruby-forum.com/t/got-an-error-on-returning-data-as-json-format-when-the-data-is-nil/157419/1 "2009-01-11T02:30:37Z")

</div>

Hi there,

## One of my app’s actions returns data as a json format. If the data exists, everything works perfect. But if the data is nil, I get the following error.

## ActionView::MissingTemplate (Missing template user/show.erb in view path /var/www/my\_app/releases/20090110234348/app/views:): /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action\_view/ template.rb:95:in `find_full_path' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/ template.rb:16:in`initialize’ /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action\_view/ base.rb:332:in `new' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/ base.rb:332:in`\_unmemoized\_\_pick\_template’ /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/ active\_support/memoizable.rb:70:in `\_pick\_template’

I don’t know why rails requires a template file only when the data is  
nil. Anybody knows the reason ?

## Here is a snippet from the controller.

class UserController \< ApplicationController

def show  
name = params[:name]

```
person = User.find_by_name(name)

respond_to do |format|
  format.html # show.html.erb
  format.json { render :json => person }
end

```

end

## end

How can I avoid this situation ???

Thanks in advance.

-wolfgang

---

<div class="post-metadata">

**Author:** ![wolfgang](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wolfgang](https://www.ruby-forum.com/u/wolfgang)\
**Post date:** [January 12, 2009, 12:39am UTC](https://www.ruby-forum.com/t/got-an-error-on-returning-data-as-json-format-when-the-data-is-nil/157419/2 "2009-01-12T00:39:57Z")

</div>

wolfgang wrote:

> How can I avoid this situation ???  
> I don’t know specifically why Rails generates that particular error, but  
> that doesn’t really matter, because render :json =\> nil is not valid.  
> You need to check for nil and respond with a properly constructed error  
> response, including the proper HTTP error status. I think most people  
> response with a 404 - Page not found in this case, but I’m not  
> completely sure of that.

---

<div class="post-metadata">

**Author:** ![wolfgang](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wolfgang](https://www.ruby-forum.com/u/wolfgang)\
**Post date:** [January 13, 2009, 10:06pm UTC](https://www.ruby-forum.com/t/got-an-error-on-returning-data-as-json-format-when-the-data-is-nil/157419/3 "2009-01-13T22:06:55Z")

</div>

Hi Robert,

Thanks for reply.

So does it mean JSON cannot represent a single nil object ? serious !?

Ajax calls the action and it can treat the error as nil object as you  
mentioned  
but isn’t it ugly ???

thanks in advance.

wolfgang

On Mon, Jan 12, 2009 at 8:39 AM, Robert W.
