我最近开始学习Rails,并在http://ruby.railstutorial.org完成了示例应用。我正在尝试将用户创建的组添加到示例社交网络。我已经陷入困境,我应该如何模拟这个群体。我知道应该有一个user_id谁拥有该组,并且应该有名称和描述的字符串。除此之外,我不知道组数据模型的其余部分应该是什么样子。提前谢谢。
答案 0 :(得分:1)
如果您希望用户属于多个群组,您的关系应该是这样的
class Group < ActiveRecord::Base
belongs_to :owner, :class_name => "User"
has_many :memberships
has_many :members, :through => :memberships
end
class Membership < ActiveRecord::Base
belongs_to :member, :class_name => "User"
belongs_to :group
end
class User < ActiveRecord::Base
has_many :memberships
has_many :groups, :through => :memberships
has_many :owned_groups, :class_name => "Group", :foreign_key => "owner_id"
end
答案 1 :(得分:0)
这样的事情怎么样?
class Group < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :group
end