Ruby on rails 使用带有Rails的reform gem,如何通过嵌套模型填充has_many

Ruby on rails 使用带有Rails的reform gem,如何通过嵌套模型填充has_many,ruby-on-rails,has-many-through,reform,Ruby On Rails,Has Many Through,Reform,我有一个用户模型和角色模型,通过以下方式在ActiveRecord中连接: has_many roles, through: :role_accounts 我想有一个“编辑用户”屏幕,有一个复选框列表,每个角色一个。使用Reform gem(v2.1.0),这是form对象的一个片段: class UserForm < Reform::Form property :name collection :roles do property :id end end 我如何为

我有一个用户模型和角色模型,通过以下方式在ActiveRecord中连接:

has_many roles, through: :role_accounts
我想有一个“编辑用户”屏幕,有一个复选框列表,每个角色一个。使用Reform gem(v2.1.0),这是form对象的一个片段:

class UserForm < Reform::Form
  property :name
  collection :roles do
    property :id
  end
end
我如何为一个已通过的项目设置populator


此外,我认为我首先需要删除所有用户的角色,然后添加所选的角色,这样它们就只剩下当前的角色集。如何使用改革创业板做到这一点?

因为改革不知道角色是什么,所以您必须填充它,并告诉它角色是什么模型。 以下是指南中的一个示例:

收藏:歌曲,
填充器:->(片段:,**){
#查看是否已添加传入歌曲。
item=songs.find{| song | song.id==fragment[“id”].to_i}
项目?项目:歌曲。附加(歌曲。新建)
}
[Reform] Your :populator did not return a Reform::Form instance for `roles`.