Ruby on rails 参数'answer'uids';
我希望用户能够在表单上填写多项选择题。表格由多个调查组成,每个调查都有多个问题(每个问题都是多项选择) 我似乎无法存储多重调查位。我想要一个答案ID,然后我可以通过::User\u answer relationship保存在一个有很多答案的用户上。但我在挣扎 我得到以下错误: 参数'answer_id'应为数组(get字符串) 这是我的表格:Ruby on rails 参数'answer'uids';,ruby-on-rails,ruby-on-rails-4,simple-form,has-many-through,ruby-on-rails-4.1,Ruby On Rails,Ruby On Rails 4,Simple Form,Has Many Through,Ruby On Rails 4.1,我希望用户能够在表单上填写多项选择题。表格由多个调查组成,每个调查都有多个问题(每个问题都是多项选择) 我似乎无法存储多重调查位。我想要一个答案ID,然后我可以通过::User\u answer relationship保存在一个有很多答案的用户上。但我在挣扎 我得到以下错误: 参数'answer_id'应为数组(get字符串) 这是我的表格: <%= simple_form_for [current_user], :url => competition_enter_path, :m
<%= simple_form_for [current_user], :url => competition_enter_path, :method => :POST do |u| %>
<% @surveys.each do |survey| %>
<%= u.simple_fields_for [survey] do |f| %>
<div class="contnt1">
<%= survey.name %>
<br />
<% survey.questions.each do |qq| %>
<%= f.simple_fields_for qq do |q| %>
<h3><%= qq.question %></h3>
<%= q.association :answers,
label: false,
collection: qq.answers,
as: :"#{qq.question_type.code}",
:label_method => :answer,
required: true
%>
<% end %>
<% end %>
</div>
<% end %>
<% end %>
<div class="actions">
<%= u.submit %>
</div>
<% end %>
competition_enter_path,:method=>:POST do|u |%>
:答案:,
必填项:true
%>
我也有同样的问题。我通过替换以下内容来进行修复:
collection: qq.answers,
与:
据我所知,问题在于表单看到的值是字符串,而不是应答对象。因此,它尝试将字符串发送到应该是应答对象的位置
collection: qq.answers.map{|v| [v.property_for_answer_text, v]}