الثلاثي الانضمام في روبي على القضبان
-
10-07-2019 - |
سؤال
ولدي سؤال بخصوص الجمعيات في روبي على القضبان. في التطبيق هناك مشاريع، والمستخدمين، والأدوار والمجموعات. ينتمي المشروع إلى مجموعة مع المستخدمين، يمكن للمستخدم ينتمي إلى العديد من مجموعات مختلفة ولكن يمكن أن يكون إلا دور واحد محدد ضمن تلك المجموعة. على سبيل المثال:
في مجموعة واحدة المستخدم هو صاحب المشروع، ولكن في مجموعة أخرى هو الكاتب.
ما هو أفضل وسيلة لتنفيذ هذه باستخدام المدمج في وظائف في القضبان؟
والشكر
المحلول
وهنا هو مجموعة سريعة جدا من النماذج التي يجب أن تفي الاحتياجات الخاصة بك:
class User < ActiveRecord::Base
has_many :group_memberships
has_many :groups, :through => :group_memberships
end
class GroupMembership < ActiveRecord::Base
belongs_to :user
belongs_to :role
belongs_to :group
end
class Role < ActiveRecord::Base
has_many :group_memberships
end
class Group < ActiveRecord::Base
has_many :group_memberships
has_many :users, :through > :group_memberships
end
وأساسا هناك الانضمام جدول يحتوي على المستخدم، مجموعة ومعرف دورا في ذلك. سأترك الهجرة باعتبارها ممارسة للالسائل
لا تنتمي إلى StackOverflow