用户属于某个组织,而该组织又可以拥有多个用户和子组织。您如何找到所有组织用户?
我有名为User
和Organization
的模型。他们有以下关系:
在用户模型中:
belongs_to :organization
在组织模型中:
has_many :users
has_many :child_organizations, class_name: "Organization", foreign_key:"parent_id"
belongs_to :parent, class_name: "Organization"
我想查找属于当前用户组织的child_organizations
的所有用户。
@users = current_user.organization.child_organizations.users
它返回此错误:
undefined method `users' for Organization::ActiveRecord_Associations_CollectionProxy:0x8f975d0
答案 0 :(得分:1)
根据您问题的格式,我不完全确定您的模型关系是什么。但是如果你想找到属于current_user组织的child_organizations的所有用户......
这是您建立关系的方式
class User < ActiveRecord::Base
belongs_to :organization
belongs_to :child_organization
end
class Organization < ActiveRecord::Base
has_many :child_organizations
has_many :users, through: :child_organizations
end
class ChildOrganization < ActiveRecord::Base
belongs_to :organization
has_many :users
end
现在您可以使用以下
@users = current_user.organization.users