我想根据用户的类型显示用户,因此在用户概述页面上我有三个标题:admins / moderators / members。在每个标题下,我显示属于该组的用户。所以我查询user_type并找到属于该组的所有用户。
每个成员也在某个公司工作。我正在创建一个使用ransack过滤该公司的过滤器:
= f.input :users_company_id_in, collection: Company.order(:name), label: 'Company'
在我的控制器中,我正在使用这样的搜索:
def index
@q = UserType.includes(:users, :active_users).ransack(params[:q])
@user_types = @q.result(distinct: true)
end
由于在我看来我使用@user_types.users
获取用户,因此该查询不尊重ransack参数,因此我看到所有用户都有某个人为该公司工作。
我想要实现的目的显然只是看到适用于特定公司的用户,并且只有在过滤后该类别中有人才会显示某个user_type。
关于如何实现这一目标的任何想法?