Нужна помощь в приложении Rails - запрос выполнен, но данные о представлении не отображаются - PullRequest
0 голосов
/ 15 ноября 2010

Я начал изучать 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".Я вижу только "responseder_name"

Это как-то связано с запросами, выполняемыми из представления?

Пожалуйста, помогите мне.

Спасибо.

1 Ответ

1 голос
/ 15 ноября 2010

Я думаю, что вы хотите:

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

с each.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...