从habtm关系过滤元素

时间:2015-03-03 12:59:16

标签: ruby-on-rails associations has-and-belongs-to-many rails-models

我有以下型号:

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])

但由于某种原因,它给了我完全相同的元素,就好像我为“IN”条件改变了“NOT IN”条件。尝试“where”,但它总是返回一个空数组。有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

您应该可以使用Rails 4

执行此操作
@company.health_care_insurances.where.not(id: insurances_array)