# Problem in Saving an attribute as 0

**URL:** <https://www.ruby-forum.com/t/problem-in-saving-an-attribute-as-0/122637>\
**Category:** Rails\
**Created:** [December 10, 2007, 10:37am UTC](https://www.ruby-forum.com/t/problem-in-saving-an-attribute-as-0/122637 "2007-12-10T10:37:06Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![vidya1111](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/b3f665/32.png) [@vidya1111](https://www.ruby-forum.com/u/vidya1111)\
**Post date:** [December 10, 2007, 10:37am UTC](https://www.ruby-forum.com/t/problem-in-saving-an-attribute-as-0/122637/1 "2007-12-10T10:37:06Z")

</div>

Hi,

I need to save a field as 0 in a table

I have set the Default value as 0, for ‘number\_of\_days’ field in ‘tasks’  
table.

I have a form which has this field.

When I set the field empty(blank field!) and save the form, it is saved  
as null.

But I want this to be saved as 0.

I am using  
\<% remote\_form\_for(:task, :url =\> tasks\_path) do |f| %\>

and in ‘create’ method I save as @task.save

Note:  
I have an idea of explicitly assigning zero  
like…params[:task][:number\_of\_days]=0 if  
params[:task][:number\_of\_days].blank?  
But I want an alternative best approach without explicit assignment.

Thanks in advance…

---

<div class="post-metadata">

**Author:** ![vidya1111](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/b3f665/32.png) [@vidya1111](https://www.ruby-forum.com/u/vidya1111)\
**Post date:** [December 10, 2007, 12:47pm UTC](https://www.ruby-forum.com/t/problem-in-saving-an-attribute-as-0/122637/2 "2007-12-10T12:47:12Z")

</div>

Add this in your model:

before\_save :set\_field\_to\_zero\_if\_blank

def set\_field\_to\_zero\_if\_blank  
self.field = 0 if self.field.blank?  
end
