如何关联模型?

巴斯

我正在使用“用户和组”构建ROR应用,我希望能够将它们与称为“成员资格”的关联模型链接。

我的问题是,当我尝试使用一个成员创建一个组时,members新组数组始终为空。

我尝试创建一个这样的组:

def create (user)
  @group = Group.new(create_group_params)
  user.join(@group)
  user.save
  @group.save
end

但是@group.members在我打印出来时是空的。如何使用户成为组的成员?

这是我的模型:

Group.rb

class Group < ActiveRecord::Base
  has_many :passive_memberships, class_name: "Membership",
                                foreign_key: "club_id",
                                  dependent: :destroy

  has_many :members, through: :passive_memberships, source: :member
end

User.rb

 class User < ActiveRecord::Base
  has_many :active_memberships, class_name:  "Membership",
                                foreign_key: "member_id",
                                dependent:   :destroy

  has_many :memberships, through: :active_memberships, source: :club

  def join(group)
    active_memberships.create(club_id: group.id)
  end
end

会员资格

class Membership < ActiveRecord::Base
  belongs_to :member, class_name: "User"
  belongs_to :club, class_name: "Group"
  validates :member_id, presence: true
  validates :club_id, presence: true
end
巴斯

哦。我必须先保存该组,然后用户才能加入它。

def create (user)
  @group = Group.new(create_group_params)
  @group.save
  user.join(@group)
  user.save
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查关联的模型

来自分类Dev

如何测试关联模型?

来自分类Dev

如何关联模型?

来自分类Dev

如何关联这些模型

来自分类Dev

如何修复我的模型关联

来自分类Dev

如何测试Rails模型关联

来自分类Dev

如何将模型与模型中的模型关联?

来自分类Dev

如何按条件筛选关联模型?

来自分类Dev

如何使用所需的关联测试模型

来自分类Dev

如何找到关联模型记录的更改?

来自分类Dev

Sailsjs:在模型更新后如何填充关联?

来自分类Dev

如何通过多个模型建立关联

来自分类Dev

如何关联她和活动记录模型?

来自分类Dev

如何使用Protector限制基于关联的模型?

来自分类Dev

Sailsjs:在模型更新后如何填充关联?

来自分类Dev

Rails-如何显示关联模型的属性

来自分类Dev

Rails-如何关联嵌套模型

来自分类Dev

如何查询关联模型上的对象数?

来自分类Dev

如何在Ember Data中保存关联模型上的更改

来自分类Dev

如何基于关联模型的虚拟属性创建性能范围?

来自分类Dev

如何通过未按约定命名的字段在CakePHP中关联模型?

来自分类Dev

如何避免在factory_girl中循环创建关联模型?

来自分类Dev

如何从模型内部检查ActiveRecord中是否存在关联?

来自分类Dev

如何从序列化关联模型中获得价值?

来自分类Dev

如何为会议注册应用程序设置模型关联?

来自分类Dev

如何为ActiveRecord模型对象找到关联的Resque作业?

来自分类Dev

如何将模型连接/关联到视图?

来自分类Dev

如何从ActiveRecord对象获取所有关联的模型?

来自分类Dev

如何在模型关联中使用Laravel分页?