我有一个 tradie 模型,其中包含许多 tradie_category 模型。在 tradie 的表格中,我添加了以下内容:

= form_for @tradie do |tradie|
  = tradie.select :tradie_category_ids, @categories, {}, { multiple: true }

在 HTML 中,生成以下内容...
<form accept-charset="UTF-8" action="/add_a_tradies/create" class="new_tradie" method="post">
  <input name="tradie[tradie_category_ids][]" type="hidden" value="">
  <select class="form-control" id="tradie_tradie_category_ids" multiple="multiple" name="tradie[tradie_category_ids][]">
    <option value="2">mechanic</option>
    <option value="1">plumber</option>
  </select>
</form>

我删除了真实性 token 和提交按钮,因为我的问题没有必要。每当我发布表单时,参数 tradie_category_ids 都会作为空字符串返回。出了什么问题,我该如何修复它以便我可以为创建的 tradie 创建多个 tradie 类别。?

最佳答案

似乎另一个问题也报告了这个问题:Why is the first element always blank in my Rails multi-select, using an embedded array?

他们概述了它的规范以及如何在 Rails 4 中解决它。第二个最受欢迎的回应是如何同时应用修复程序。

关于ruby-on-rails - 多选发送空字符串到 Rails Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18970680/

10-11 10:22