|
我正在尝试设置共享项目。如何使用 Postgresql 在 Rails 中执行此操作?
目前,用户有 has_many 项目。我希望用户能够与其他用户共享项目,但仍然拥有这些项目。因此,用户有 has_many 项目,项目有 has_many 用户。我无法执行 has_and_belongs_to_many 因为我希望项目的所有者拥有与共享用户不同的权限。我将如何建立关系?项目是否应该有一个以某种方式指向用户的shared_id?
编辑:这有效
#user.rb
has_many:物品
has_many :分享
has_many :shared_items, :foreign_key => \"item_id\", :through => :sharrings, :source => :item
#用户.rb
属于:用户
has_many :分享
has_many :shared_users, :foreign_key => \"user_id\", :through => :sharrings, :source => :user
#分享.rb
属于:共享用户
属于:项目
# 创建共享
@www.gsm-guard.net :user_id => other_www.gsm-guard.net
# 获取与该用户共享的项目
@shared_items = current_user.shared_items