-1
A
回答
0
假設你有這樣的:
Table: friendships
id : integer
friend_id : integer
friend_of_id : integer
class Friendship < ActiveRecord::Base
belongs_to :friend, class: :user, inverse_of:
belongs_to :friend_of, class: :user, inverse_of:
end
class User < ActiveRecord::Base
has_many :friendships, class: :friendship, foreign_key: :friend_of, inverse_of: friend_of
has_many :friends, through: :friendships
has_many :friendships_of, class: :friendship, foreign_key: :friend, inverse_of: :friend
has_many :friends_of, through: :friendships
end
我希望我所有的權利,缺乏良好的術語使得混亂,如果你能拿出更好的東西那麼這將使它更容易。
鑑於這種代碼,你可以添加:
class User < ActiveRecord::Base
...
def add_friend(friend)
# left out checking if they are already a friend
friendships.create!(friend: friend)
friendships_of.create!(friend_of: friend)
end
end
相關問題
- 1. Rails has_many:通過使用同一表兩次
- 2. rails has_many:通過has_many:通過
- 3. 如何「通過」使用has_many通過?
- 4. 的has_many通過與不同的主鍵
- 5. HAS_MANY通過使用factoryGirl
- 6. 表格的has_many:通過
- 7. 用戶has_many:評論兩次
- 8. 主動管理 - 通過的has_many協會
- 9. 通過的has_many
- 10. :的has_many:通過協會兩層深
- 11. 如何通過關聯使用Rails和has_many一次保存到兩個模型?
- 12. Rails的通過輔助方法HAS_MANY使用非主鍵
- 13. rails has_many通過與獨立通過表
- 14. has_many:通過關聯反向添加兩次
- 15. 的has_many:通過當連接表中不包含FK兩個表
- 16. Rails 3 has_many通過3表
- 17. has_many:通過和has_many關係相同的兩個模型
- 18. 的has_many:通過通過兩個不同的協會
- 19. 自引用的has_many,:通過
- 20. :用的has_many關係通過
- 21. ActiveRecord has_many通過多態has_many
- 22. Rails has_many和has_many通過
- 23. 使用構建具有的has_many:通過
- 24. 通過關聯使用has_many的導軌
- 25. 軌道4的has_many通過使用AJAX
- 26. Bulk通過相同的嵌套表兩次收集兩次
- 27. 多的has_many:通過
- 28. has_many:通過
- 29. Rails has_many通過
- 30. Spine.js has_many:通過
什麼是你想要的方向?誰有很多什麼? – Jeremie
你的問題不清楚。你想達到什麼目標? –
@Jeremie用戶有很多友誼。一個友誼有很多用戶 –