title: find_or_initialize_by in FactoryGirl
body: <p>I was wondering if there's an equivalent for <code>find_or_initialize_by</code> in FactoryGirl that solve teh following issue:</p>
  
  <p>The objective is that the model uses two tables that have the <strong>same</strong> country. I don't want to use a sequence for the country (as I found for Emails).</p>
  
  <p>There's a uniqueness constraint on Country, but my main issue is that it create twice the same record of Country when I call once FactoryGirl.create(:click)</p>
  
  <p>Thus, the Validation fail in the test.</p>
  
  <p>Rspec:</p>
  
  <pre><code># models/click_spec.rb
  describe Click do
      it "should have a valid constructor" do
          FactoryGirl.create(:click).should be_valid
      end
  end
  </code></pre>
  
  <p>Factories:</p>
  
  <pre><code># factories/countries.rb
  FactoryGirl.define do
      factory :country do
          name "United States"
          slug "us"
      end
  end
  
  # factories/offers.rb
  FactoryGirl.define do
      factory :offer do
          association :country, factory: :country
          # Other columns
      end
  end
  
  # factories/users.rb
  FactoryGirl.define do
      factory :user do
          association :country, factory: :country
          # Other columns
      end
  end
  
  # factories/clicks.rb
  FactoryGirl.define do
      factory :click do
          association :offer, factory: :offer
          association :user, factory: :user
          # Other columns
      end
  end
  </code></pre>
  
  <p>Model:</p>
  
  <pre><code>class Country &lt; ActiveRecord::Base
      validates :name, :slug,
      presence: true,
      uniqueness: { case_sensitive: false }
  
      validates :slug,
      length: { is: 2 }
  
  end
  </code></pre>