中心< - >用户模型关系

时间:2015-11-05 15:22:24

标签: sql ruby-on-rails

我的网站将有许多中心。每个中心的管理员应该能够登录和编辑中心,并能够创建更多有权访问该中心版本的用户。

我想到的第一件事是创建1-N中心用户关系,但不确定是否是正确的关系。在其他一些帖子中,我意识到使用1-1关系可能不是一个坏主意。

什么是明智的最佳解决方案?

提前致谢。

2 个答案:

答案 0 :(得分:0)

鉴于您对一个中心对用户的评论,您可以这样做。

用户可以拥有一个中心并创建更多(因此1+),并可以向其添加更多用户。

class User < ActiveRecord::Base
  belongs_to :center
  #...
end

class Center < ActiveRecord::Base
  has_many :users    
  #...
end

然后你可以做像

这样的事情
current_user.center
current_user.create_center(params)
some_center.users << user_to_add

答案 1 :(得分:0)

中心的管理员是否会超过1个?

用户怎么样 - &gt;角色 - &gt;中心

用户has_many角色,角色属于中心

通过这种方式,您可以让一个用户成为两个不同中心的“管理员”角色,同一个用户可能是另一个中心的“普通用户”角色。这在我看来最灵活,不确定它是否比你需要的更灵活。