check_box_tag – 一对多的关系

我有2个模型 – 批量和子模式。

批处理has_many:提交提交bel​​ongs_to:批处理

我的提交表有一个字段/列,用于存储每个提交的批处理ID,

在我的新批处理表单中,用户可以通过复选框选择提交并保存表单。 这会将新创建的批次ID与选定的提交相关联。

我目前正在使用以下代码来允许用户选择提交并保存表单,这反过来将创建一个新批处理并将新批处理ID与选定的提交相关联。

选择提交的代码:

      

除了编辑时,它似乎工作正常。

如果我创建一个新批次并将2个提交与之关联,然后我编辑该特定批次并取消选择所有提交并保存批次,则不会保存更改。 但是,如果我取消选择其中一个提交或选择其他提交,则会保存更改。

只有在编辑包含选定提交的批处理并且在取消选择所有预选提交后尝试保存该批处理时,才会出现此错误。

我对此非常困惑,并认为错误可能与check_box_tag有关。

如果有人能就此向我提出一些建议,我将不胜感激。

非常感谢你的帮助

我曾经遇到过同样的问题。 问题是未发送未选中的框。 来自: http : //api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-check_box

“问题HTML规范说未经检查的复选框不成功,因此Web浏览器不会发送它们。[…]”

虽然说check_box_tag应该没问题( http://apidock.com/rails/ActionView/Helpers/FormTagHelper/check_box_tag ),但我必须传递隐藏的field_id,以防所有复选框都未选中。

这是一般线索,但我希望它有所帮助。 您应该检查日志,如何以及是否传递ID(或者当没有传递时以不同方式处理)。

祝好运!