ユーザーとネットワーク モデルの 1 対多の関連付けがあります。私のスキーマ情報の関連部分は次のとおりです。
# == Schema Information
# Table name: users
#
# id :integer not null, primary key
# name :string(255)
#
# Table name: networks
#
# id :integer not null, primary key
# user_id :integer
# uid :string(255)
# name :string(255)
# pub_url :string(255)
ネットワーク モデルの name プロパティを使用して、特定の複数のネットワークを持つユーザーを除外したいと考えています。たとえば、facebook と foursquare をフィルターとしてチェックすると、facebook と foursquare の両方に接続しているユーザーを取得したいと考えています。私の現在の実装は、以下に示すように、ユーザーが追加できるネットワークの名前を含む配列を渡すことです。
filter :networks_name, :as => :check_boxes,
:collection => %w(facebook twitter foursquare linkedin)
ただし、これは、チェックされたアイテムのいずれかを持つユーザーを取得するフィルターに OR 条件を使用します。実際に取得したいのは、チェック項目をすべて満たすユーザーです。これを達成する正しい方法は何ですか?