【问题标题】:Write join table data - has_many :through写入连接表数据 - has_many :through
【发布时间】:2010-11-26 10:44:46
【问题描述】:

这应该是一个简单的问题,但我在网上找不到好的解决方案。

我有三个表/模型。用户、联盟和 Alliance_Membership。后者是一个连接表,描述 :Alliance has_many :Users 通过 :Alliance_Membership 关系。

一切正常,但 Alliance_Membership 现在有一个名为“rank”的额外字段。问题是,在创建新对象时如何设置它?目前,我做了类似的事情:

@alliance.users << current_user

这真的很方便,因为它会自动填充我的 Alliance_Membership 表。但是,我怎样才能设置 Alliance_Membership.rank 字段呢?

【问题讨论】:

  • 一个用户是否有多个联盟?
  • 不,一个用户有一个联盟,一个联盟通过会员表有多个用户。

标签: ruby-on-rails


【解决方案1】:

您需要自己创建成员资格才能设置“等级”属性。像这样的:

  @alliance.alliance_memberships.create!(
    :user => current_user,
    :rank => 'whatever')

【讨论】:

  • 效果很好thanx :) 对看到它的人的小修正,它应该是alliance_membership,但技术是一样的。谢谢杰里米 :)
猜你喜欢
  • 1970-01-01
  • 2012-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-18
  • 1970-01-01
  • 1970-01-01
  • 2015-02-01
相关资源
最近更新 更多