Я начал изучать 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"
Это как-то связано с запросами, выполняемыми из представления?
Пожалуйста, помогите мне.
Спасибо.