I do have default values specified, but these only take effect when
writing to the database, now when the new object is created.

On Sep 13, 8:28 am, Marnen Laibow-Koser <li...@ruby-forum.com> wrote:
> Jon Seidel wrote:
> > I have a new app (Rails 2.3.8) that uses lots of money fields. I'm
> > using the money gem (3.0.5) and the acts_as_money plugin. I've written
> > a number of rspec model examples and everything seems to be working
> > fine there.
>
> > My problem is in defining forms for new & edit. As I've done in past
> > projects for complex layouts, I extracted the basic form to a partial
> > and include it in the new & edit views.
>
> > However, the model object is created and left with nulls in the
> > fields, and causes the money gem to complain with:
> >     "undefined method `subunit_to_unit' for nil:NilClass".
>
> > I thought I could use something like after_initialize() to hook into
> > the creation of a new object in Rails and set all the money attributes
> > to zero, but that didn't work (and several posts recommended against
> > that for performance reasons)...
>
> > Any suggestions on a clean way to hook my model object and make sure
> > it's got zeros for all the money values when the new object is
> > instantiated?
>
> Why not define a default value for the field on the DB side?  This has
> the added advantage of ensuring that there is no way to accidentally
> create a record without these values even if the Rails app is bypassed.
>
> Best,
> --
> Marnen Laibow-Koserhttp://www.maren.org
> mar...@marnen.org
> --
> Posted viahttp://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to