【发布时间】:2013-09-23 23:43:49
【问题描述】:
我有一个 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 都会作为空字符串返回。出了什么问题以及如何解决它,以便我可以为创建的传统创建多个传统类别。?
【问题讨论】:
-
在你的控制器中,你能做一个
puts params.inspect并告诉我们结果是什么吗? (当然,请确保您在 tradie 类别 ID 中选择了一些内容):) -
是的,我已经这样做了:
:tradie_category_ids => "" -
<input name="tradie[tradie_category_ids][]" type="hidden" value="">这个隐藏字段是从哪里来的?它会覆盖您的选择吗? -
@jason328 - 但我们想看看剩下的... :)
-
@tihom 我不确定它来自哪里。 Rails 本身正在创建它。
标签: ruby-on-rails forms ruby-on-rails-4 selection form-for