写连接表数据 – has_many:through
这应该是一个简单的问题,但我无法在网上找到一个好的解决方案。
我有三个表/型号。 用户,联盟和Alliance_Membership。 后者是一个连接表,描述了:Alliance has_many:用户通过:Alliance_Membership关系。
一切正常,但Alliance_Membership现在有一个名为’rank’的额外字段。 问题是,在创建新对象时如何设置? 目前,我做的事情如下:
@alliance.users << current_user
这非常方便,因为它会自动填充我的Alliance_Membership表。 但是,我如何设置Alliance_Membership.rank字段呢?
您需要自己创建成员资格以设置’rank’属性。 像这样的东西:
@alliance.alliance_memberships.create!( :user => current_user, :rank => 'whatever')