Railsで使えるGem

多対多の関係でまだ関連を持っていない候補を探す〜active_record、pluck、not in

投稿日:

前提

PersonとProjectは、ProjectsPersonという中間モデル(テーブル)を介して多対多の関係にある.

やりたいこと

まだProjectに参加していないPersonの一覧を出したい.

解説

not

ActiveRecord4からは、not句が便利に使えるようになった.
guides.rubyonrails.org/active_record_querying.html#not-conditions

in

whereのときに、配列を与えるとin句を発行する.

pluck

pluckは基本的に指定したカラムの配列をあたえてくれるActiveRecordのメソッド
railsdoc.com/references/pluck

組み合わせる

Projcetに含まれているPeopleのidを配列にして、not inでwhereすればOK.

-Railsで使えるGem
-,

執筆者:

関連記事

CarrierWaveで添付したファイルをrroongaで全文検索

By: Alan Levine – CC BY 2.0 目次1 Carrierwave2 rroonga3 Gemfile4 application.rb5 config/initiali …

もしもRails3.2とBackbone.jsでリアルタイムな2ch風な掲示板をつくったら〜private_pub

By: Kevin Dooley – CC BY 2.0   まだ、Observerのことがよくわかってない ので、過去のやつをもとにやってみた dry-shore-2517.h …

Rails3.2でFacebook風インターフェイスでタグづけ〜acts-as-taggable-on+jquery.tokenInput

By: Mauquoy Token Company – CC BY 2.0 railscasts.com/episodes/258-token-fields?language=ja&#03

no image

Rails3.2+MongoDBでつくったアプリをheroku+mongoHQにアップしたよ

Stack Overflowはなんでも答えてくれる エラーメッセージをコピーしてググればたいていの答えはStack Overflowで出尽くしている 目次1 Gemfile2 herokuにアプリ作成 …

no image

CarrierWaveのファイルをpublic以外に移す

  参照 How To: Secure Upload 現状でCarrierWaveのファイルがpublicという公開フォルダに置かれるのが気になったので調べてみた 違ってるかもしれないので自 …