从 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)
我有以下型号:
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)