On Sun, Aug 29, 2010 at 12:34 PM, Chris <cdellin...@gmail.com> wrote:
> How would I handle a failure in that second piece?  Can I put it in
> transaction and roll it back?

Probabl, though you'd have to throw an exception for a transaction to
be effective.  IIRC, Rails3 has support for creating associated
records built in but I haven't gotten around to working with 3 and you
didn't say what version you're using.

The easiest, most readable thing to do might be to just, in the controller...

if @user.save and @user.user_site
  ....

It's probably better, though, to move it into the User model's
after_create (untested code)

after_create :create_default_user_site_rec

def create_default_user_site_rec
  user_site_rec = UserSite.new
  user_site_rec.user_id = self.id
  unless user_site.save
     self.destroy
     false
  end
end

Tricky thing here is I'm not sure off the top of my head if the
failure of the after_create and its returning false will translate
into the save itself returning false.  Sorry I don't have the time to
run it to ground for you.  Hopefully this will give you some options
to investigate.

Best regards,
Bill

end

-- 
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