如何找出从collection_select中未选择的内容?

时间:2019-04-09 15:42:38

标签: ruby-on-rails ruby ruby-on-rails-5

我有一个表单,该表单通过collection_check_boxes将一组复选框ID传递给控制器​​。每次可以选中或取消选中其中一些复选框。未检查的记录将被删除,我放置的所有before_destroy回调都将被忽略。找到了解释该行为的API条目:

  

collection = objects通过适当地删除和添加对象来替换集合内容。如果:through选项为true,则由于删除是直接的,因此会触发join模型中的回调(除destroy回调之外)。

牢记这一点,我如何知道未检查哪些ID?我至少想告知用户哪些记录被销毁了。

查看

<%= f.collection_check_boxes(:condition_ids, target_participant.encounter.ruleset.conditions, :id, :name) do |b| 
 <li>
   <%= b.check_box + " " + b.label(class: "p3 damage-model-checkbox-label") do %>
     <%= b.text %>
   <% end %>
 </li>
<% end %>

控制器

def update
  @target_participant.update(participant_params)
end

0 个答案:

没有答案