写连接表数据 - has_many:through

时间:2010-11-26 02:17:34

标签: ruby-on-rails

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

我有三张桌子/型号。用户,联盟和Alliance_Membership。后者是一个连接表,描述了:Alliance has_many:用户通过:Alliance_Membership relationship。

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

@alliance.users << current_user

这非常方便,因为它会自动填充我的Alliance_Membership表。但是,我如何设置Alliance_Membership.rank字段呢?

1 个答案:

答案 0 :(得分:4)

您需要自己创建会员资格以设置'rank'属性。像这样:

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