我已经开始学习Ruby on Rails了,我一直困在某些东西,需要你的帮助。为了学习Rails,我正在构建一个用于创建,填充和报告调查的应用程序。
我的模型就像 - 每个调查都有很多问题,每个调查都有很多回复。每个响应都有很多答案。
在我的报告页面控制器上,我正在做类似的事情 -
def index
#@survey = Survey.find(params[:survey_id])
@user_responses = Response.where("survey_id = ?", params[:survey_id])
end
并在视图上 -
<% @user_responses.each do |response| %>
Responder Name - <%= response.responder_name %><br/>
<% response.answers do |answer|%>
Question Id - <%= answerx.question_id %>
Answer - <%= answer.answer_text %>
<% end%>
<% end %>
我可以在后端看到正在执行的查询(由于视图上的循环),例如
[1m[36mResponse Load (0.3ms)[0m [1mSELECT "responses".* FROM "responses" WHERE (survey_id = '14')[0m
[1m[35mAnswer Load (0.3ms)[0m SELECT "answers".* FROM "answers" WHERE ("answers".response_id = 14)
[1m[36mAnswer Load (0.2ms)[0m [1mSELECT "answers".* FROM "answers" WHERE ("answers".response_id = 15)
但是在视图中我无法看到“answer_text”/“question_id”。我只能看到“responder_name”
这与从视图执行的查询有关吗?
请帮帮我。
感谢。
答案 0 :(得分:1)
我想你想要:
<% response.answers.each do |answer| %>
使用each
。