0
我正在尝试设置共享项目。我将如何使用postgresql在rails中执行此操作?共享项目rails数据库架构
现在用户has_many项目。我希望用户能够与其他用户共享项目,但仍拥有这些项目。因此用户has_many项目和项目has_many用户。我不能做has_and_belongs_to_many,因为我希望项目的所有者具有不同于共享用户的权限。我将如何建立关系?项目是否有一个shared_id,以某种方式指向用户?
编辑:这是什么工作
#user.rb
has_many :items
has_many :sharrings
has_many :shared_items, :foreign_key => "item_id", :through => :sharrings, :source => :item
#user.rb
belongs_to :user
has_many :sharrings
has_many :shared_users, :foreign_key => "user_id", :through => :sharrings, :source => :user
#sharring.rb
belongs_to :shareduser
belongs_to :item
# create sharring
@item.sharrings.build :user_id => other_user.id
# get items shared with this user
@shared_items = current_user.shared_items
感谢。我会努力实现它。我还在自我参照协会上找到了一个有帮助的栏目。 – Dan 2011-04-14 04:33:36