title: ActiveRecord::AssociationTypeMismatch: User(#70180695416600) expected, got Hash(#70180672006440)
body: <p>I am test driving a social networking app on ROR</p>
  
  <p>I will let the code speak for itself:</p>
  
  <p>User.rb:</p>
  
  <pre><code>class User &lt; ActiveRecord::Base
    # Include default devise modules. Others available are:
    # :confirmable, :lockable, :timeoutable and :omniauthable
    devise :database_authenticatable, :registerable,
           :recoverable, :rememberable, :trackable, :validatable
  
    has_many :friendships, dependent: :destroy
    has_many :inverse_friendships, class_name: "Friendship", foreign_key: "friend_id", dependent: :destroy
  
    def request_friendship(user_2)
      self.friendships.create(friend: user_2)
    end
  end
  </code></pre>
  
  <p>Friendship.rb:</p>
  
  <pre><code>class Friendship &lt; ActiveRecord::Base
    belongs_to :user
    belongs_to :friend, class_name: "User"
  
    def accept_friendship
      self.update_attributes(state: "active", friended_at: Time.now)
    end
  
    def deny_friendship
      self.destroy
    end
  
    def cancel_friendship
      self.destroy
    end
  end
  </code></pre>
  
  <p>and my User model test..
  user_spec.rb:</p>
  
  <pre><code>require 'spec_helper'
  
  describe User, :type =&gt; :model do
    let!(:user1) { User.create(email: 'test_user1@example.com', password: 'testtest', password_confirmation: 'testtest') }
    let!(:user2) { User.create(email: 'test_user2@example.com', password: 'testtest', password_confirmation: 'testtest') }
  
    it "new user has no friendships" do
      expect(user1.friendships.length).to eq 0
    end
  
    it "can add another user as a friend" do
      user2 = User.create(email: 'test_user2@example.com', password: 'testtest', password_confirmation: 'testtest')
      user1.request_friendship(friend: user2)
      expect(user1.friendships.length).to eq 1
    end
  end
  </code></pre>
  
  <p>When I run this test I get the following error:</p>
  
  <pre><code>2) User can add another user as a friend
       Failure/Error: self.friendships.create(friend: user_2)
  
       ActiveRecord::AssociationTypeMismatch:
         User(#70180695416600) expected, got Hash(#70180672006440)
       # ./app/models/user.rb:11:in `request_friendship'
       # ./spec/models/user_spec.rb:13:in `block (2 levels) in &lt;top (required)&gt;'
  </code></pre>
  
  <p>I wish I could give more details but the code is fairly basic and I am just not sure how to test the .request_friendship method on my User model.</p>
  
  <p>Thanks in advance!</p>