从 habtm 关系中过滤元素

filter elements from habtm relation

我有以下型号:

class HealthCareInsurance < ActiveRecord::Base
  has_and_belongs_to_many :companies
end

class Company < ActiveRecord::Base
  has_and_belongs_to_many :health_care_insurances
end

现在,在我的控制器中,我只需要获取满足条件的那些:"id NOT IN ( my_array )"。似乎很容易,但我就是无法让它发挥作用。

我正在执行以下操作:

@company.health_care_insurances( :conditions => [ "id NOT IN ( ? )", insurances_array])

但出于某种原因,它给了我完全相同的元素,就像我将 "NOT IN" 条件更改为 "IN" 条件一样。也试过 "where",但它总是 returns 一个空数组。有什么想法吗?

提前致谢

你应该可以用 Rails 4

@company.health_care_insurances.where.not(id: insurances_array)