FactoryGirl3, can't access factories anymore
After I upgraded to the new FactoryGirl, I updated the syntax of the factories I inherited.  Now, I bounce between either my factory isn't defined, or it's double defined.  All of the answers I have found online are using older versions/syntax, and none of the proposed solutions really allows me to call my factories.  I apologize for the file lengths, and I really appreciate your time!  This is what I have now after having wrestled with it for a while:

**spec_helper.rb**

    # This file is copied to spec/ when you run 'rails generate rspec:install'
    ENV["RAILS_ENV"] ||= 'test'
    require File.expand_path("../../config/environment", __FILE__)
    require 'rspec/rails'
    require 'factory_girl'
    
    # Requires supporting ruby files with custom matchers and macros, etc,
    # in spec/support/ and its subdirectories.
    Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
    
    RSpec.configure do |config|
      # ## Mock Framework
      #
      # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
      #
      # config.mock_with :mocha
      # config.mock_with :flexmock
      # config.mock_with :rr
      # config.mock_with :rspec
      config.include FactoryGirl::Syntax::Methods
    
      # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
      config.fixture_path = "#{::Rails.root}/spec/fixtures"
    
      # If you're not using ActiveRecord, or you'd prefer not to run each of your
      # examples within a transaction, remove the following line or assign false
      # instead of true.
      config.use_transactional_fixtures = true
      
      def test_sign_in(user)
        sign_in (user)
      end
      
    
      # If true, the base class of anonymous controllers will be inferred
      # automatically. This will be the default behavior in future versions of
      # rspec-rails.
      config.infer_base_class_for_anonymous_controllers = false
    end


**factories.rb**


    FactoryGirl.define do
      
    # Sequences    
      sequence :test_name do |n|
        "Test Name #{n}"
      end
      
      sequence :email do |n|
        "devnull#{n}@topsailtech.com"
      end
      
      sequence :block_offset do |n|
        n*100
      end
      
      sequence :venue_position do |n|
        n
      end
      
      sequence :sponsorship_position do |n|
        n
      end
      
      sequence :sponsor_position do |n|
        n
      end
      
      sequence :id do |n|
        n
      end
      
      # factories
      factory :account, :class => Account do 
        id { FactoryGirl.generate(:id) }
      end
    
      factory :invalid_account, :class => Account do 
        id ''
      end
    
      factory :activity, :class => Activity do 
        event { Conference.find_by_name('TechConf') }
        location { |a| a.event.areas.first }
        start_time  { FactoryGirl.generate(:block_offset) }
        end_time  { FactoryGirl.generate(:block_offset) }
        title { FactoryGirl.generate(:test_name) }
      end
      
      factory :invalid_activity, :class => Activity do 
        title ''
        start_time ''
        event ''
      end
    
      factory :administrator, :class => Administrator do |f|
        f.email { FactoryGirl.generate(:email) }
        f.first_name { FactoryGirl.generate(:test_name) }
        f.last_name { FactoryGirl.generate(:test_name) }
        f.password 'aBc123xYz!'
        f.password_confirmation 'aBc123xYz!'
      end
      
      factory :invalid_administrator, :class => Administrator do |f|
        f.email ''
        f.first_name ''
        f.last_name ''
        f.password 'x'
        f.password_confirmation 'y'
      end
    
      factory :area, :class => Area do |f|
        f.event_id { Festival.find_by_name('MusicFest').id }
        f.name { FactoryGirl.generate(:test_name) }
      end
      
      factory :invalid_area, :class => Area do |f|
        f.name ''
        f.event ''
      end
    
      factory :artist, :class => Artist do |f|
        f.event_id { Festival.find_by_name('MusicFest').id }
        f.name { FactoryGirl.generate(:test_name) }
        f.bio 'This artist is really creative.'
        f.website 'www.topsailtech.com'
      end
      
      factory :invalid_artist, :class => Artist do |f|
        f.name ''
      end
    
      factory :booth, :class => Booth do |f|
        f.event_id { Festival.find_by_name('MusicFest').id }
        f.name { FactoryGirl.generate(:test_name) }
      end
      
      factory :invalid_booth, :class => Booth do |f|
        f.name ''
      end
    
      factory :category, :class => Category do |f|
        f.name { FactoryGirl.generate(:test_name) }
        f.event { Festival.find_by_name('MusicFest') }
        f.parent { |attrs| attrs.event.categories.first }
        f.key { |a| a.name.parameterize('') }
      end
      
      factory :invalid_category, :class => Category do |f|
        f.name ''
        f.event ''
      end
      
      factory :top_level_category, :class => Category do |f|
        f.name { FactoryGirl.generate(:test_name) }
        f.event { Festival.find_by_name('MusicFest') }
        f.key { |a| a.name.parameterize('') }
      end
    
      factory :conference_session_speaker, :class => ConferenceSessionSpeaker do |f|
        f.conference_session { ConferenceSession.find_by_title('Giggler') }
        f.speaker { |a| a.conference_session.event.speakers.first }
      end
      
      factory :invalid_conference_session_speaker, :class => ConferenceSessionSpeaker do |f|
      end
    
      factory :conference_session_without_speaker, :class => ConferenceSession do |f|
        f.event { Conference.find_by_name('TechConf') }
        f.location { |a| a.event.venues.first }
        f.block_date  { |a| a.event.start_date }
        f.start_time  { FactoryGirl.generate(:block_offset) }
        f.end_time  { FactoryGirl.generate(:block_offset) }
        f.title 'Test Title'
        f.subtitle 'Test Sub-title'
        f.abstract 'Test abstract blah blah blah'
        f.track { |a| a.event.tracks.first }
      end
      
      factory :conference_session, :class => ConferenceSession, :parent => :conference_session_without_speaker do |f|
        f.speaker { |a| a.event.speakers.first }
      end
      
      factory :invalid_conference_session, :class => ConferenceSession do |f|
        f.event nil
        f.title ''
      end
    
      factory :conference, :class => Conference do |f|
        f.account_id { Factory.create(:account).id }
        f.name { FactoryGirl.generate(:test_name) }
        f.start_date { Date.today + 1 }
        f.end_date { Date.today + 3 }
        f.copyright 'Giggler, Inc.'
      end
      
      factory :invalid_conference, :class => Conference do |f|
        f.name ''
      end
    
      factory :festival, :class => Festival do |f|
        f.account_id { Factory.create(:account).id }
        f.name { FactoryGirl.generate(:test_name) }
        f.start_date { Date.today + 1 }
        f.end_date { Date.today + 3 }
        f.copyright 'Giggler, Inc.'
      end
      
      factory :invalid_festival, :class => Festival do |f|
        f.name ''
      end
      
      factory :performance, :class => Performance do |f|
        f.event { Festival.find_by_name('MusicFest') }
        f.location { |a| a.event.venues.first }
        f.contributor { |a| a.event.artists.first }
        f.block_date  { |a| a.event.start_date }
        f.start_time  { FactoryGirl.generate(:block_offset) }
        f.end_time  { FactoryGirl.generate(:block_offset) }
      end
      
      factory :invalid_performance, :class => Performance do |f|
      end
    
      factory :series, :class => Series do |f|
        f.event { Conference.find_by_name('TechConf') }
        f.location { |a| a.event.venues.first }
        f.block_date  { |a| a.event.start_date }
        f.start_time  { FactoryGirl.generate(:block_offset) }
        f.end_time  { FactoryGirl.generate(:block_offset) }
        f.title 'Test Title'
        f.subtitle 'Test Sub-title'
        f.abstract 'Test abstract blah blah blah'
        f.track { |a| a.event.tracks.first }
      end
      
      factory :invalid_series, :class => Series do |f|
        f.title ''
      end
    
      factory :speaker, :class => Speaker do |f|
        f.event { Conference.find_by_name('TechConf') }
        f.first_name 'John'
        f.last_name 'Doe'
        f.credentials 'Dr.'
        f.organization 'TechCom'
        f.title 'Director'
        f.website 'blahblahblahblahblah.com'
        f.street_address '123 Foo Road'
        f.city 'Townsville'
        f.state 'NC'
        f.zip_code '27519'
        f.bio 'Blah blah blah blah blah'
      end
      
      factory :invalid_speaker, :class => Speaker do |f|
      end
    
      factory :sponsor, :class => Sponsor do |f|
        f.name { FactoryGirl.generate(:test_name) }
        f.show_logo true
        f.website 'topsailtech.com'
        f.sponsorship { Factory.create(:sponsorship) }
      end
      
      factory :invalid_sponsor, :class => Sponsor do |f|
        f.name ''
      end
    
      factory :sponsorship, :class => Sponsorship do |f|
        f.name { FactoryGirl.generate(:test_name) }
        f.position { FactoryGirl.generate(:sponsorship_position) }
        f.show_logo true
        f.event { Conference.find_by_name('TechConf') }
      end
      
      factory :invalid_sponsorship, :class => Sponsorship do |f|
        f.name ''
        f.position ''
        f.show_logo ''
        f.event ''
      end
    
      factory :track, :class => Track do |f|
        f.event { Conference.find_by_name('TechConf') }
        f.name { FactoryGirl.generate(:test_name) }
      end
      
      factory :invalid_track, :class => Track do |f|
        f.event ''
        f.name ''
      end
      
      factory :vendor, :class => Vendor do 
        association event :factory => :festival, :name => 'MusicFest'
        category { |a| a.event.categories.first }
        location { |a| a.event.venues.first }
        name { FactoryGirl.generate(:test_name) }
        bio 'They sell things.'
        website 'www.topsailtech.com'
      end
      
      factory :invalid_vendor, :class => Vendor do |f|
        f.name ''
      end
    
      factory :venue, :class => Venue do 
        event { Festival.find_by_name('MusicFest') }
        name test_name
        street_address '406 Blackwell St.'
        city 'Durham'
        state 'NC'
        zip_code '27701'
        position venue_position
        key { |a| a.name.parameterize('') }
      end
      
      factory :invalid_venue, :class => Venue do |f|
        f.name ''
      end
    end

**controller/this_controller_spec.rb**

    require 'spec_helper'
    
    describe GigViewController do
      include Devise::TestHelpers
      fixtures :all
    
      render_views
      
      describe "GET all GigViews" do
        
        before(:each) do
          @user = user_profile(:doc)
          @event = event(:merlefest)        
        end
        
        it "should be successful" do
          test_sign_in @user
          get :show, :id => @event.id
          response.should be_success
        end
    
        **... removed multiple other tests that work but don't use fixtures ...**
        
        it "should get music" do
          sign_in @user 
          venue = FactoryGirl.create(:venue)
          get :music, :id => @event.id
          response.should be_success
        end
        
      end
    end

**Gemfile.lock (excerpt)**

    factory_girl (3.0.0)
      activesupport (>= 3.0.0)
    factory_girl_rails (3.0.0)
      factory_girl (~> 3.0.0)
      railties (>= 3.0.0)
    rails (3.1.3)
      actionmailer (= 3.1.3)
      actionpack (= 3.1.3)
      activerecord (= 3.1.3)
      activeresource (= 3.1.3)
      activesupport (= 3.1.3)
      bundler (~> 1.0)
      railties (= 3.1.3)
    rspec-rails (2.9.0)
      actionpack (>= 3.0)
      activesupport (>= 3.0)
      railties (>= 3.0)
      rspec (~> 2.9.0)


FactoryGirl3, can't access factories anymore
===

After I upgraded to the new FactoryGirl, I updated the syntax of the factories I inherited.  Now, I bounce between either my factory isn't defined, or it's double defined.  All of the answers I have found online are using older versions/syntax, and none of the proposed solutions really allows me to call my factories.  I apologize for the file lengths, and I really appreciate your time!  This is what I have now after having wrestled with it for a while:

**spec_helper.rb**

    # This file is copied to spec/ when you run 'rails generate rspec:install'
    ENV["RAILS_ENV"] ||= 'test'
    require File.expand_path("../../config/environment", __FILE__)
    require 'rspec/rails'
    require 'factory_girl'
    
    # Requires supporting ruby files with custom matchers and macros, etc,
    # in spec/support/ and its subdirectories.
    Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
    
    RSpec.configure do |config|
      # ## Mock Framework
      #
      # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
      #
      # config.mock_with :mocha
      # config.mock_with :flexmock
      # config.mock_with :rr
      # config.mock_with :rspec
      config.include FactoryGirl::Syntax::Methods
    
      # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
      config.fixture_path = "#{::Rails.root}/spec/fixtures"
    
      # If you're not using ActiveRecord, or you'd prefer not to run each of your
      # examples within a transaction, remove the following line or assign false
      # instead of true.
      config.use_transactional_fixtures = true
      
      def test_sign_in(user)
        sign_in (user)
      end
      
    
      # If true, the base class of anonymous controllers will be inferred
      # automatically. This will be the default behavior in future versions of
      # rspec-rails.
      config.infer_base_class_for_anonymous_controllers = false
    end


**factories.rb**


    FactoryGirl.define do
      
    # Sequences    
      sequence :test_name do |n|
        "Test Name #{n}"
      end
      
      sequence :email do |n|
        "devnull#{n}@topsailtech.com"
      end
      
      sequence :block_offset do |n|
        n*100
      end
      
      sequence :venue_position do |n|
        n
      end
      
      sequence :sponsorship_position do |n|
        n
      end
      
      sequence :sponsor_position do |n|
        n
      end
      
      sequence :id do |n|
        n
      end
      
      # factories
      factory :account, :class => Account do 
        id { FactoryGirl.generate(:id) }
      end
    
      factory :invalid_account, :class => Account do 
        id ''
      end
    
      factory :activity, :class => Activity do 
        event { Conference.find_by_name('TechConf') }
        location { |a| a.event.areas.first }
        start_time  { FactoryGirl.generate(:block_offset) }
        end_time  { FactoryGirl.generate(:block_offset) }
        title { FactoryGirl.generate(:test_name) }
      end
      
      factory :invalid_activity, :class => Activity do 
        title ''
        start_time ''
        event ''
      end
    
      factory :administrator, :class => Administrator do |f|
        f.email { FactoryGirl.generate(:email) }
        f.first_name { FactoryGirl.generate(:test_name) }
        f.last_name { FactoryGirl.generate(:test_name) }
        f.password 'aBc123xYz!'
        f.password_confirmation 'aBc123xYz!'
      end
      
      factory :invalid_administrator, :class => Administrator do |f|
        f.email ''
        f.first_name ''
        f.last_name ''
        f.password 'x'
        f.password_confirmation 'y'
      end
    
      factory :area, :class => Area do |f|
        f.event_id { Festival.find_by_name('MusicFest').id }
        f.name { FactoryGirl.generate(:test_name) }
      end
      
      factory :invalid_area, :class => Area do |f|
        f.name ''
        f.event ''
      end
    
      factory :artist, :class => Artist do |f|
        f.event_id { Festival.find_by_name('MusicFest').id }
        f.name { FactoryGirl.generate(:test_name) }
        f.bio 'This artist is really creative.'
        f.website 'www.topsailtech.com'
      end
      
      factory :invalid_artist, :class => Artist do |f|
        f.name ''
      end
    
      factory :booth, :class => Booth do |f|
        f.event_id { Festival.find_by_name('MusicFest').id }
        f.name { FactoryGirl.generate(:test_name) }
      end
      
      factory :invalid_booth, :class => Booth do |f|
        f.name ''
      end
    
      factory :category, :class => Category do |f|
        f.name { FactoryGirl.generate(:test_name) }
        f.event { Festival.find_by_name('MusicFest') }
        f.parent { |attrs| attrs.event.categories.first }
        f.key { |a| a.name.parameterize('') }
      end
      
      factory :invalid_category, :class => Category do |f|
        f.name ''
        f.event ''
      end
      
      factory :top_level_category, :class => Category do |f|
        f.name { FactoryGirl.generate(:test_name) }
        f.event { Festival.find_by_name('MusicFest') }
        f.key { |a| a.name.parameterize('') }
      end
    
      factory :conference_session_speaker, :class => ConferenceSessionSpeaker do |f|
        f.conference_session { ConferenceSession.find_by_title('Giggler') }
        f.speaker { |a| a.conference_session.event.speakers.first }
      end
      
      factory :invalid_conference_session_speaker, :class => ConferenceSessionSpeaker do |f|
      end
    
      factory :conference_session_without_speaker, :class => ConferenceSession do |f|
        f.event { Conference.find_by_name('TechConf') }
        f.location { |a| a.event.venues.first }
        f.block_date  { |a| a.event.start_date }
        f.start_time  { FactoryGirl.generate(:block_offset) }
        f.end_time  { FactoryGirl.generate(:block_offset) }
        f.title 'Test Title'
        f.subtitle 'Test Sub-title'
        f.abstract 'Test abstract blah blah blah'
        f.track { |a| a.event.tracks.first }
      end
      
      factory :conference_session, :class => ConferenceSession, :parent => :conference_session_without_speaker do |f|
        f.speaker { |a| a.event.speakers.first }
      end
      
      factory :invalid_conference_session, :class => ConferenceSession do |f|
        f.event nil
        f.title ''
      end
    
      factory :conference, :class => Conference do |f|
        f.account_id { Factory.create(:account).id }
        f.name { FactoryGirl.generate(:test_name) }
        f.start_date { Date.today + 1 }
        f.end_date { Date.today + 3 }
        f.copyright 'Giggler, Inc.'
      end
      
      factory :invalid_conference, :class => Conference do |f|
        f.name ''
      end
    
      factory :festival, :class => Festival do |f|
        f.account_id { Factory.create(:account).id }
        f.name { FactoryGirl.generate(:test_name) }
        f.start_date { Date.today + 1 }
        f.end_date { Date.today + 3 }
        f.copyright 'Giggler, Inc.'
      end
      
      factory :invalid_festival, :class => Festival do |f|
        f.name ''
      end
      
      factory :performance, :class => Performance do |f|
        f.event { Festival.find_by_name('MusicFest') }
        f.location { |a| a.event.venues.first }
        f.contributor { |a| a.event.artists.first }
        f.block_date  { |a| a.event.start_date }
        f.start_time  { FactoryGirl.generate(:block_offset) }
        f.end_time  { FactoryGirl.generate(:block_offset) }
      end
      
      factory :invalid_performance, :class => Performance do |f|
      end
    
      factory :series, :class => Series do |f|
        f.event { Conference.find_by_name('TechConf') }
        f.location { |a| a.event.venues.first }
        f.block_date  { |a| a.event.start_date }
        f.start_time  { FactoryGirl.generate(:block_offset) }
        f.end_time  { FactoryGirl.generate(:block_offset) }
        f.title 'Test Title'
        f.subtitle 'Test Sub-title'
        f.abstract 'Test abstract blah blah blah'
        f.track { |a| a.event.tracks.first }
      end
      
      factory :invalid_series, :class => Series do |f|
        f.title ''
      end
    
      factory :speaker, :class => Speaker do |f|
        f.event { Conference.find_by_name('TechConf') }
        f.first_name 'John'
        f.last_name 'Doe'
        f.credentials 'Dr.'
        f.organization 'TechCom'
        f.title 'Director'
        f.website 'blahblahblahblahblah.com'
        f.street_address '123 Foo Road'
        f.city 'Townsville'
        f.state 'NC'
        f.zip_code '27519'
        f.bio 'Blah blah blah blah blah'
      end
      
      factory :invalid_speaker, :class => Speaker do |f|
      end
    
      factory :sponsor, :class => Sponsor do |f|
        f.name { FactoryGirl.generate(:test_name) }
        f.show_logo true
        f.website 'topsailtech.com'
        f.sponsorship { Factory.create(:sponsorship) }
      end
      
      factory :invalid_sponsor, :class => Sponsor do |f|
        f.name ''
      end
    
      factory :sponsorship, :class => Sponsorship do |f|
        f.name { FactoryGirl.generate(:test_name) }
        f.position { FactoryGirl.generate(:sponsorship_position) }
        f.show_logo true
        f.event { Conference.find_by_name('TechConf') }
      end
      
      factory :invalid_sponsorship, :class => Sponsorship do |f|
        f.name ''
        f.position ''
        f.show_logo ''
        f.event ''
      end
    
      factory :track, :class => Track do |f|
        f.event { Conference.find_by_name('TechConf') }
        f.name { FactoryGirl.generate(:test_name) }
      end
      
      factory :invalid_track, :class => Track do |f|
        f.event ''
        f.name ''
      end
      
      factory :vendor, :class => Vendor do 
        association event :factory => :festival, :name => 'MusicFest'
        category { |a| a.event.categories.first }
        location { |a| a.event.venues.first }
        name { FactoryGirl.generate(:test_name) }
        bio 'They sell things.'
        website 'www.topsailtech.com'
      end
      
      factory :invalid_vendor, :class => Vendor do |f|
        f.name ''
      end
    
      factory :venue, :class => Venue do 
        event { Festival.find_by_name('MusicFest') }
        name test_name
        street_address '406 Blackwell St.'
        city 'Durham'
        state 'NC'
        zip_code '27701'
        position venue_position
        key { |a| a.name.parameterize('') }
      end
      
      factory :invalid_venue, :class => Venue do |f|
        f.name ''
      end
    end

**controller/this_controller_spec.rb**

    require 'spec_helper'
    
    describe GigViewController do
      include Devise::TestHelpers
      fixtures :all
    
      render_views
      
      describe "GET all GigViews" do
        
        before(:each) do
          @user = user_profile(:doc)
          @event = event(:merlefest)        
        end
        
        it "should be successful" do
          test_sign_in @user
          get :show, :id => @event.id
          response.should be_success
        end
    
        **... removed multiple other tests that work but don't use fixtures ...**
        
        it "should get music" do
          sign_in @user 
          venue = FactoryGirl.create(:venue)
          get :music, :id => @event.id
          response.should be_success
        end
        
      end
    end

**Gemfile.lock (excerpt)**

    factory_girl (3.0.0)
      activesupport (>= 3.0.0)
    factory_girl_rails (3.0.0)
      factory_girl (~> 3.0.0)
      railties (>= 3.0.0)
    rails (3.1.3)
      actionmailer (= 3.1.3)
      actionpack (= 3.1.3)
      activerecord (= 3.1.3)
      activeresource (= 3.1.3)
      activesupport (= 3.1.3)
      bundler (~> 1.0)
      railties (= 3.1.3)
    rspec-rails (2.9.0)
      actionpack (>= 3.0)
      activesupport (>= 3.0)
      railties (>= 3.0)
      rspec (~> 2.9.0)

