我是rails的新手并阅读此guide以获取目前为止的所有信息。
我有一个简单的场景,并希望确定我的协会是否能正常运作。
方案:
User
登录 - >设置了许多groups
- >每个小组都有很多employees
User
型号:
class User < ActiveRecord::Base
has_many :groups
end
Group
型号:
class Group < ActiveRecord::Base
belongs_to :user
has_many :employees
end
Employee
型号:
class Employee < ActiveRecord::Base
has_many :groups
belongs_to :group
end
问题
Employees
下获取所有User
感到困惑。那个代码是什么?答案 0 :(得分:0)
你在大多数情况下都有它,但我认为你需要查看has_and_belongs_to_many(你经常会看到缩写为habtm。)索引,创建,更新和销毁将是你的Ruby on Rails的CRUD列表。至于一个好的指南,我喜欢Dave Thomas的Agile Web Development With Rails。 (当我提到一个新主题时,我喜欢书籍 - 电子或其他。)它可以通过实用程序员在线获得。关于“什么是好指南”的问题是非常主观的,所以需要注意。
答案 1 :(得分:0)
我也喜欢has_many通过 -
class User < ActiveRecord::Base
has_many :groups
has_many :employees, :through=>:groups
end
然后你可以去:
user = User.find(23)
user.employees.do_something
否则,您可以遍历您的团队及其员工(有点难看,但会工作)
User.first.groups.each{|group| group.employees.each{|employee| puts employee.name}}