Ruby on rails 集合属性在多个关系表中

Ruby on rails 集合属性在多个关系表中,ruby-on-rails,activerecord,ruby-on-rails-4,Ruby On Rails,Activerecord,Ruby On Rails 4,我有一个组和一个用户,它们通过一个has\u many:through关系进行关联。My:through表称为Groupuser。此表具有组id、用户id和状态。在创建我的组时,我允许将当前用户的状态设置为1(默认值为0) 在我的组中设置当前的_用户完全没有问题,效果非常好;但我不知道它的状态。这就是我现在拥有的: def create @group = Group.new(group_params) respond_to do |format| if @grou

我有一个
和一个
用户
,它们通过一个has\u many:through关系进行关联。My:through表称为
Groupuser
。此表具有组id、用户id和状态。在创建我的组时,我允许将当前用户的状态设置为1(默认值为0)

在我的组中设置当前的_用户完全没有问题,效果非常好;但我不知道它的状态。这就是我现在拥有的:

  def create
    @group = Group.new(group_params)
    respond_to do |format|
      if @group.save
        @group.users << current_user
        @group.groupusers.status << 1
        format.html { redirect_to @group, notice: 'done' }
        format.json { render action: 'show', status: :created, location: @group }
      else
        format.html { render action: 'new' }
        format.json { render json: @group.errors, status: :unprocessable_entity }
      end
    end
  end
试一试 @group.groupusers.status=1


@小组,救命

@group.groupusers
是一个数组,activerecord关系。您不能设置这样的属性,您需要一个接一个地设置它,或者在将其附加到组之前设置它

@group.groupusers.each do |gu|
  gu.status = 1
  gu.save
end

groupuser=groupuser.new user\u id:current\u user.id,状态:1

@group.groupusers只对我要添加的用户有效吗?顺便说一句,我得到了这个错误:
undefined method
status'for#`哦,对了,我的错。很高兴@MurifoX能够为您提供一个有效的解决方案。感谢您的努力!
@group.groupusers.each do |gu|
  gu.status = 1
  gu.save
end
groupuser = GroupUser.new user_id: current_user.id, status: 1
@group.groupusers << groupuser