如何将表单组放入哈希数组中

时间:2016-06-30 20:24:59

标签: ruby-on-rails forms twitter-bootstrap

我有一个包含动态字段的表单。通过渲染的部分添加字段。我希望表单组的输出是一个哈希数组:

task: { responses: [{text: "asdf", option: 1},{text: "qwer", option: 5} ... ]}

是否可以通过表单助手_tag执行此操作,还是需要执行不同的操作?任何帮助将不胜感激。

这是我的部分内容:

<% if local_assigns.has_key?(:res) %>
<div class="task-response form-group">

  <%= label_tag :text, "Text", :class => 'label-control' %>
  <%= text_field_tag "task[responses][]", '', :class => 'form-control', :value => res %>

  <% if local_assigns.has_key?(:tasks) %>

    <%= label_tag :option, "Option", :class => 'label-control' %>
    <%= select_tag "task[responses][]", options_for_select(tasks.collect {|t| [t.title, t.id]}), :class => 'form-control' %>

  <% end %>
</div>

<% end %>

1 个答案:

答案 0 :(得分:0)

我通过在所需的哈希键前面放置一个空数组来解决这个问题:

<%= text_field_tag "task[responses][][text]" ... %>
<%= select_tag "task[responses][][next]" ... %>

给出:

task: { responses: [{text: "asdf", option: 1},{text: "qwer", option: 5} ... ]}