我有一个 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/