title: Fetching models along with corresponding join-models attributes
body: <p>
  I have the models:</p>
  
  <pre class="lang-rb prettyprint-override"><code>class Exam &lt; AR::Base
    has_many :questions_in_exams
    has_many :questions, :through =&gt; :questions_in_exams
  end
  
  class QuestionsInExam &lt; AR::Base
    belongs_to :examination
    belongs_to :question
    # This model also has a "question_index" attribute
  end
  
  class Question &lt; AR::Base
    has_many :questions_in_exams
    has_many :examinations, :through =&gt; :questions_in_exams
  end
  </code></pre>
  
  <p>Given an instance of Exam, I want to fetch all of it's questions along with the extra
  attributes from the join model (like "question_index"). How can I achieve this ?</p>
  
  <p>If I do:</p>
  
  <pre class="lang-rb prettyprint-override"><code>e = Examination.find(1)
  questions = e.questions
  </code></pre>
  
  <p>Then elements in questions array won't have the "question_index" attribute</p>
  
  <p>I guess I can write:</p>
  
  <pre class="lang-rb prettyprint-override"><code>e = Examination.find(1)
  questions = e.questions_in_exam(:include =&gt; "question")
  </code></pre>
  
  <p>But this seems not so elegant since most of the data I need is on the Question model,
  but the returned array will consist of QuestionInExam instances.</p>
  
  <p>Any ideas ?</p>
  
  <p>Thanks</p>