我最近开始学习 Rails,并在http://ruby.railstutorial.org完成了示例应用程序。我正在尝试将用户创建的组添加到示例社交网络。我已经陷入了我应该如何为团队建模的问题。我知道应该有一个拥有该组的用户 ID,并且应该有名称和描述的字符串。除此之外,我不知道组数据模型的其余部分应该是什么样子。先感谢您。
问问题
55 次
2 回答
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
于 2012-07-04T22:48:45.377 回答
0
这样的事情呢?
class Group < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :group
end
于 2012-07-04T22:41:27.673 回答