我一直在四处寻找我的问题的答案,到目前为止没有任何成功......
我想在提交表单后将一些参数组合在一起,我希望它看起来像:
“mysurvey”=> { {“我的问题1”=> [“我的第一个答案”,“我的第二个答案”,“我的第三个答案”]}, {“我的问题2”=> [“我的另一个第一个答案”,“我的另一个第二个答案”,“我的另一个第三个答案”]} }
<%= form_tag (@survey) do |f| %>
my first question: <%= text_field_tag "survey[mysurvey][]" %>
answer: <%= text_field_tag "survey[mysurvey][]" %>
answer: <%= text_field_tag "survey[mysurvey][]" %>
answer: <%= text_field_tag "survey[mysurvey][]" %>
my second question: <%= text_field_tag "survey[mysurvey][]" %>
answer: <%= text_field_tag "survey[mysurvey][]" %>
answer: <%= text_field_tag "survey[mysurvey][]" %>
answer: <%= text_field_tag "survey[mysurvey][]" %>
<%= submit_tag "envoyer" %>
考虑到mysurvey是调查模型的唯一属性。
我无法找到将每个问题分组为各自答案的方法,是否可能? 如果您有任何想法或解决这个问题,请告诉我! 非常感谢你! 马特
答案 0 :(得分:2)
我想您想花一些时间阅读表单指南的这一部分:http://guides.rubyonrails.org/form_helpers.html#understanding-parameter-naming-conventions
很难从你的问题中知道正确的答案而不了解更多关于模型的内容,但我认为你正在寻找的是这样的:
my first question: <%= text_field_tag "survey[mysurvey][question1]" %>
answer: <%= text_field_tag "survey[mysurvey][question1][]" %>
answer: <%= text_field_tag "survey[mysurvey][question1][]" %>
answer: <%= text_field_tag "survey[mysurvey][question1][]" %>
my second question: <%= text_field_tag "survey[mysurvey][question2]" %>
answer: <%= text_field_tag "survey[mysurvey][question2][]" %>
answer: <%= text_field_tag "survey[mysurvey][question2][]" %>
answer: <%= text_field_tag "survey[mysurvey][question2][]" %>
但上述每个答案中的问题元素survey[mysurvey][question1]
取决于您的模型的结构;其余的将为您提供您正在寻找的数据格式。
可能循环模型的更好方法是:
<%= form_for @survey do |survey_form| %>
<%= survey_form.text_field :question %>
<% @survey.questions.each do |question| %>
<%= survey_form.fields_for question, index: question do |question_form|%>
<%= question_form.text_field :answer %>
<% end %>
<% end %>
<% end %>