title: belongs_to through associations
body: <p>Given the following associations, I need to reference the <code>Question</code> that a <code>Choice</code> is attached through from the <code>Choice</code> model. I have been attempting to use <code>belongs_to :question, through: :answer</code> to perform this action.</p>
  
  <pre><code>class User
    has_many :questions
    has_many :choices
  end
  
  class Question
    belongs_to :user
    has_many :answers
    has_one :choice, :through =&gt; :answer
  end
  
  class Answer
    belongs_to :question
  end
  
  class Choice
    belongs_to :user
    belongs_to :answer
    belongs_to :question, :through =&gt; :answer
  
    validates_uniqueness_of :answer_id, :scope =&gt; [ :question_id, :user_id ]
  end
  </code></pre>
  
  <p>I am getting</p>
  
  <blockquote>
    <p>NameError uninitialized constant <code>User::Choice</code></p>
  </blockquote>
  
  <p>when I try to do <code>current_user.choices</code></p>
  
  <p>It works fine, if I don't include the</p>
  
  <pre><code>belongs_to :question, :through =&gt; :answer
  </code></pre>
  
  <p>But I want to use that because I want to be able to do the <code>validates_uniqueness_of</code></p>
  
  <p>I am probably overlooking something simple. Any help would be appreciated.</p>