# Setting default values in a new AR model?

**URL:** <https://www.ruby-forum.com/t/setting-default-values-in-a-new-ar-model/128539>\
**Category:** Rails\
**Created:** [February 8, 2008, 3:56pm UTC](https://www.ruby-forum.com/t/setting-default-values-in-a-new-ar-model/128539 "2008-02-08T15:56:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![cmaxvv](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/85f322/32.png) [@cmaxvv](https://www.ruby-forum.com/u/cmaxvv)\
**Post date:** [February 8, 2008, 3:56pm UTC](https://www.ruby-forum.com/t/setting-default-values-in-a-new-ar-model/128539/1 "2008-02-08T15:56:24Z")

</div>

Currently, to set some default values, but also keep any values that the  
user specifies to new, i’m doing this:

def initialize(\*params)  
defaults = {:resources =\> true,  
:lessons =\> true,  
:courses =\> true,  
:sort\_by =\> “name”,  
:term =\> “”,  
:kinds =\> [“0”],  
:fields =\> [“0”],  
:subject\_families =\> [“0”],  
:subject\_family\_members =\> [“0”]  
}  
params[0] = defaults.merge(params[0] || {})  
super(\*params)

end

It works but seems a bit dirty. Is there a nicer way? I know that the  
after\_intialize callback is called after a record is retrieved from the  
db as well (i never understood the logic behind this) so i avoided  
using that.
