我有一个编辑表单,您可以在其中为特定组选择多个角色。在填充选择框并将您选择的内容保存到数据库方面,它的确如此。
但是在编辑方面,当它正确填充时,它不会选择已经选择的角色。组和角色之间的关系如下:
has_many :roles, :through => :groups_roles
在群组模型中。
我的选择框设置为编辑视图和新视图:
<div class="form-group">
<label class="col-sm-4 control-label">Select roles for this group</label>
<div class="col-sm-6">
<%= f.select(:roles, options_for_select(Xaaron::Role.pluck(:role_name),
:selected => @group.roles), {}, class: 'form-control', multiple: true) %>
</div>
</div>
那么这笔交易是什么?新的,就像我说的,它填充,它让你选择,它保存你选择的。在编辑时,它会填充,让您选择并保存到数据库,但不会为此组选择已选择的角色。