需要Rails应用程序的帮助 - 执行查询但不显示视图上的数据

时间:2010-11-15 07:03:19

标签: ruby-on-rails

我已经开始学习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”

这与从视图执行的查询有关吗?

请帮帮我。

感谢。

1 个答案:

答案 0 :(得分:1)

我想你想要:

<% response.answers.each do |answer| %>

使用each