简单表单 - 复选框组中的多个属性

问题描述 投票:0回答:1

我有一个User模型,具有以下属性:

#  full_time                :boolean
#  part_time                :boolean
#  contract                 :boolean

我想为这些属性创建一个简单的表单复选框组。从我能够理解的,简单形式api旨在映射到has_manyhas_and_belongs_to_many协会,如下:

f.collection_check_boxes :role_ids, Role.all, :id, :name

有没有办法在表单的API指南中处理给定模型上的多个属性的更新?或者这是否表明我应该以不同的方式对数据建模?

ruby-on-rails ruby simple-form
1个回答
1
投票

f.collection_check_boxes是一种通用方法,用于为单个属性生成具有任意名称/值的多个复选框。您提供的示例在文档中被提及为此方法的最后一个,可能是因为f.association对于关联属性更好。

<%= f.association :role, Role.all %>

如果您的属性,我不认为f.collection_check_boxes适用。如果属性不是互斥的,那么我没有看到任何错误 - 坚持使用它们,只给每个人一个自己的复选框。

<%= f.input :full_time %>
<%= f.input :part_time %>
<%= f.input :contract %>

simple_form将检测其类型并为每个类型生成一个复选框。使用wrapper: false选项,如果你想摆脱包装div并将它们组合得更紧密。

如果它们是互斥的,那么整数列和qazxsw poi可能是一个更好的主意。

© www.soinside.com 2019 - 2024. All rights reserved.