我有以下关系:
User has_many :relationships
has_many :friends, :through => :relationships
Friend has_many :relationships
Relationship belongs_to :user, :friend
现在,我想更新用户的friends
,还要更新weight
中的属性relationships
。我应该怎么做呢?
我试过
Friend
accept_nested_attribute_for :relationships
和
friend = my_user.friends.first
#update info
friend.update_attributes(:info => my_info, :relationship => {:weight => 1})
在更新权重属性之前,我应该如何查看用户和朋友之间的特定关系?
答案 0 :(得分:2)
您需要指定您正在设置其权重的朋友关系,因为您的关联说明有很多。
有多种方法可以做到这一点。我可能会这样做:
friend = my_user.friends.first
relationship = my_user.relationships.where(:friend_id => friend.id).first
relationship.update_attributes(:weight => 1)