1
我正在嘗試爲我製作的測驗管理員製作一個API。Rails 3 ActiveRecord嵌套關聯選擇查詢
我有一個測驗模型,該模型的has_many問題和的has_many結果 問題模型還的has_many答案
我想要的網址/data/quiz/7
所有問題+回答和結果返回測驗與ID = 7
這是我目前所擁有的方法。
def quiz
@quiz = Quiz.find(params[:id])
@questions = @quiz.questions.select('id, content') # returns only selected fields
@results = @quiz.results.select('id, content, points_limit') # returns only selected fields
@questions.each do |question|
question['answers'] = question.answers.select('id, content, points') #returns whole object
end
@return = Hash.new
@return['questions'] = @questions
@return['results'] = @results
respond_to do |format|
format.json { render json: @return }
format.xml { render xml: @return }
end
end
一切正常,除了答案返回,包括創建,在,ID,更新,在等等等等,所有我想在查詢中選擇的領域,如我有充分的答案對象。
爲什麼.select爲@questions和@results而不是相關的@answers?
無論我嘗試什麼,它似乎都忽略了答案循環的select語句並始終返回完整的對象。
-
在控制檯...我知道做同樣的事情
question.answers.select('id, content, points')
回報正是我之後。所以這是我把它放入Array/Hash的方式,我猜測,但仍然無法解決。
這一工程,但沒有辦法,我真的希望它很遺憾。這將所有答案都放在一起,因爲我希望每個答案都嵌套在適當的問題中。儘管感謝您的回答。 – markstewie 2012-07-22 19:20:04