users
私は多くのアプリを作成しましたareas
(経由subscriptions
)。一部のユーザーusers
には:admin
役割があり、これらのユーザーにも多くの役割がありますadministrative_areas
(. を介して) administrations
。エリア A の管理者がユーザーのインデックス ページにアクセスすると、エリア A の他のユーザーのみが表示されるようにするための最善の方法を理解するのに苦労しています。私のモデルは次のように設定されています。
class User < ActiveRecord::Base
has_many :subscriptions
has_many :areas, through: :subscriptions
has_many :administrations
has_many :administrative_areas, through: :administrations, :source => :area, :class_name => "Area"
end
class Area < ActiveRecord::Base
has_many :subscriptions
has_many :users, :through => :subscriptions
has_many :administrations
has_many :admins, :through => :administrations, :class_name => "User", :source => :user
end
ユーザー/管理者を正常にセットアップできますが、適切な ActiveRecord クエリを取得して、管理者に関連するユーザーのみを返すのに苦労しています。
これを解決するための考え、またはより良いアプローチの提案はありますか?
ありがとう!