【发布时间】:2015-12-07 08:46:28
【问题描述】:
我有一个 User 模型和一个与之关联的 Enrollment 模型。一个用户可以有多个注册,但每个注册只有一个Company。
我的 Enrollment 模型有一个 flag_contractor 布尔值。因此,如果我有一个 User 搜索,例如 :enrollment_flag_contractor false,我可能会得到不一致的结果,因为我正在尝试确定当前公司的注册范围(通过 Apartment gem)。
例如,我有一个用户在两个不同的公司注册,一个是 flag_contractor = true,一个是 flag_contractor = false。
我已经将 User 模型的范围限定为仅包含在当前公司注册的用户,但 Ransack 似乎仍在关联中向下钻取并搜索所有注册。
我尝试将 Ransack 范围添加到我的 Enrollment 模型:
scope :active, -> (company_id) { where(company_id: company_id) }
然后修改了我的用户控制器:
@users = @search.result(distinct: true, active: current_company.id).paginate(:page => params[:page])
但没有成功。
【问题讨论】:
标签: ruby-on-rails activerecord ransack