title: Rails: has_many, but also has_one by a different name
body: <p>Let's say a <code>User</code> has many <code>Document</code>s, and a single <code>Document</code> they're currently working on. How do I represent this in rails?</p>
  
  <p>I want to say <code>current_user.current_document = Document.first</code> (with or without current_ in front of document) and have it not change the <code>current_user.documents</code> collection.</p>
  
  <p>This is what I have:</p>
  
  <pre><code>class Document &lt; ActiveRecord::Base
    belongs_to :user
  end
  
  class User &lt; ActiveRecord::Base
    has_many :documents
    has_one :document
  end
  </code></pre>
  
  <p>the problem is that when I say <code>current_user.document = some_document</code>, it removes the document previously stored in <code>current_user.document</code> from <code>current_user.documents</code>. This makes sense due to the <code>has_one</code> relationship that <code>Document</code> has, but isn't what I want. How do I fix it?</p>