我被指派修复以前开发人员创建的代码中的一些问题。他将序列化的复选框值存储在数据库中,尽管这些值肯定会存储在所描述的表中,但当表单出现时,不会根据存储在数据库中的内容检查复选框。我假设我需要在表单知道应该选中哪些复选框之前取消序列化该数据。
有没有办法反序列化排除数据,以便以下代码能够将 true 分配给 check_box_tag 方法的选中属性?
<p><label for="supplemental_material_type_exclusions">Exclusions</label><br/>
<%= ApplicantBudgetlevel.find(:all).collect { |p|
if @supplemental_material_type.exclusions
checked = @supplemental_material_type.exclusions.include?(p.level)
else
checked = false
end
"#{check_box_tag('supplemental_material_type[exclusions][]', p.level, checked)} #{p.level} - #{p.range}<br />\n"
} %>
</p>