创建复选框时如何省略属性名称
How to omit attribute name when creating a checkbox
我在组和用户之间有 "many to many" 关系,我需要创建一个复选框标记以将用户放入组中。所以我尝试为此使用 fields_for
。像那样:
# ...
- users.each do |user|
f.fields_for "group[user_ids][]", user.group_users.build do |group_user_f|
= group_user_f.check_box :user_id, {}, user.id, false
而 Rails 产生:
<input checked="checked" id="group_user_ids__user_id" name="group[user_ids][][user_id]" type="checkbox" value="1">
但我需要:
<input checked="checked" id="group_user_ids" name="group[user_ids][]" type="checkbox" value="1">
没有[user_id]
.
我可以手动使用 check_box_tag
,但我更喜欢像上面那样使用 fields_for
。
我只解决了:
= f.check_box :user_ids, **{multiple: true}**, user.id, false
我不知道属性的复数形式也是用于关联的属性。
我在组和用户之间有 "many to many" 关系,我需要创建一个复选框标记以将用户放入组中。所以我尝试为此使用 fields_for
。像那样:
# ...
- users.each do |user|
f.fields_for "group[user_ids][]", user.group_users.build do |group_user_f|
= group_user_f.check_box :user_id, {}, user.id, false
而 Rails 产生:
<input checked="checked" id="group_user_ids__user_id" name="group[user_ids][][user_id]" type="checkbox" value="1">
但我需要:
<input checked="checked" id="group_user_ids" name="group[user_ids][]" type="checkbox" value="1">
没有[user_id]
.
我可以手动使用 check_box_tag
,但我更喜欢像上面那样使用 fields_for
。
我只解决了:
= f.check_box :user_ids, **{multiple: true}**, user.id, false
我不知道属性的复数形式也是用于关联的属性。