3

我有一个tradie有很多模型的tradie_category模型。在交易的表格中,我添加了以下内容:

= 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>

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

4

2 回答 2

8

另一个问题似乎也报告了这个问题:为什么我的 Rails 多选中的第一个元素总是空白,使用嵌入式数组?

他们概述了它的规范以及它将如何在 Rails 4 中解决。第二个最受欢迎的响应是同时说明如何对其进行修复。

于 2013-09-26T00:21:42.170 回答
0

尝试这个

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

注意周围的引号

{ multiple:  "true" or 'true'  } in 
于 2013-09-26T11:01:52.410 回答