Ruby on rails 为什么rails选择组件不能发布空数组?

Ruby on rails 为什么rails选择组件不能发布空数组?,ruby-on-rails,forms,Ruby On Rails,Forms,如果我写了一个日记编辑页面并设置了标签控件,如下所示: <div class="field"> <%= form.label :labels, for: 'diary_labels' %> <select id="diary_labels" name="diary[labels][]" multiple="" > <option value="label1">label1</option> <option

如果我写了一个日记编辑页面并设置了标签控件,如下所示:

<div class="field">
  <%= form.label :labels, for: 'diary_labels' %>
  <select id="diary_labels" name="diary[labels][]" multiple="" >
    <option value="label1">label1</option>
    <option value="label2">label2</option>
  </select>
</div>
但是,如果我不选择任何内容,则put数据实际上是:

{
  "diary": {
    ...
  }
}
我想要的是:

{
  "diary": {
    labels: [],
    ...
  }
}

我该怎么做呢?

html的工作方式与rails无关。您不能通过HTTP发送空数组,只能发送包含空字符串的数组,如
[“”]
。您应该在控制器中处理此问题
{
  "diary": {
    labels: [],
    ...
  }
}