ruby-on-rails - Rails 组/用户成员协会最佳实践

标签 ruby-on-rails ruby usergroups


我是 Ruby 和 Rails 的新手,我正在开发一个需要多个组的 Web 应用程序,每个组都有很多成员,但组和成员彼此完全分开。

即:group1 有成员 1、2 和 3
group2 有成员 4、5 和 6
group3 有成员 7、8 和 9

此外,每个成员都可以将帖子提交到他们的群组目录。

我正在尝试找出在数据库管理等方面处理此问题的最佳逻辑。它是否像创建一个组模型一样简单,其中有_many 成员,有_many 帖子,然后从那里开始?

我想我只是担心事情最终会开始变得困惑,包括组登录、个人用户登录等。

感谢您对此提供的任何帮助,我意识到此时这是一个相当广泛的问题。

最佳答案

我会按如下方式建模:

class Group < ActiveRecord::Base
  has_many :members
  has_many :posts, :through => :members
end

class Member < ActiveRecord::Base
  belongs_to :group
  has_many   :posts
end

class Post < ActiveRecord::Base
  belongs_to :member
end

关于ruby-on-rails - Rails 组/用户成员协会最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6495841/

相关文章:

ruby-on-rails - ActiveRecord::Batches::find_each 线程安全吗?

没有继承的 Ruby 类重写

vb.net - VB.NET错误-使用结果时,在运行时可能会出现Null引用异常

tmux - 在 tmux 中我只有 2 组

ruby-on-rails - BigDecimals 的总和最终成为整数 [Ruby on Rails]

ruby-on-rails - 使这个 postgres 查询联合更有效的方法是使用物化 View 吗?

ruby-on-rails - 使用 Faraday 和 Omniauth 进行 Rails 集成测试

ruby-on-rails - 从 Rails Controller 访问 current_user 设计方法

ruby - 在 Windows 7 x64 上运行 redcar 0.8.1

linux id no_squash_root