Multiple inserts in ActiveRecord

Hey rails-talk, I have a little question: How do you handle multiple
inserts like these in ActiveRecord? It's for a little Camping app that
skylerrichter is writing, but it's just plain, simple ActiveRecord, so
it shouldn't really be any difference from a Rails app:

    @company = Company.create(
      :name => @input.name,
      :sub_domain => @input.subdomain)

    # Create the first user:
    @user = User.create(
      :company_id => @company.id,
      :first_name => @input.first_name,
      :last_name => @input.last_name,
      :email => @input.email,
      :password => @input.password)

Both Company and User has validations, so there's a possibility that
they don't actually get saved to the DB, and in that case I don't want
*any* of them to be saved. I was thinking about something like this:

    begin
      Company.transaction do
        @company = Company.create!(
          :name => @input.name,
          :sub_domain => @input.subdomain)

        @user = User.create!(
          :company_id => @company.id,
          :first_name => @input.first_name,
          :last_name => @input.last_name,
          :email => @input.email,
          :password => @input.password)
      end
    rescue
      @errors = [@company, @user].compact.map(&:full_messages).flatten
      render :errors
    else
      redirect Login
    end

But I'm wondering if there's a better (more Rails-y) way to solve this?

http://railscasts.com/episodes/198-edit-multiple-individually