Hi all,
Im trying to add new rows to multiple tables and need a little help 
understanding transactions.
My goal is to create a new user account, account holder and blog in one 
go. If either of the saes fail I would like the error messages returned 
to use in my views.
I have the following method... is this the best way to achieve the goal. 
It seems a little over complicated
******* CONTROLLER *******
  def signup
    case request.method
      when :post
        @account = Account.new(params[:account])
        @account_holder = AccountHolder.new(params[:account_holder])
        @blog = Blog.new(params[:blog])
        @account_holder.display_name = 
params[:account_holder][:first_name] + " " + 
params[:account_holder][:last_name]
        begin
          Account.transaction do
            # blog > membership < group
            @blog.users << @account_holder
            @blog.save!
            # account_holder > membership < group
            @account_holder.account = @account
            @account_holder.save!
            @account.save!
          end
        rescue Exception => e
          #logger.error("message for the log file #{e.message}")
          #flash[:notice] = e.message
          render :action => ''signup'' and return
        end
        redirect_to :action => ''list''
    end
  end
-- 
Posted via http://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-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk
-~----------~----~----~----~------~----~------~--~---