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
-,

執筆者:

関連記事

Rubyで静的ページをジェネレート〜middleman

静的ページのジェネレータとしてはjekyllやこれを使ったoctopressなどがメジャーなようで middlemanもそんな静的なページのメジャーなジェネレータの1つ middlemanの利点は次の …

Ubuntu ServerのGuardからGrowl for Windowsにネットワーク経由で通知する

github.com/guard/guard 普段はWindows7から仮想環境(VirtualBox)のUbuntu Server 12.04.1へputtyで接続して開発してます. Virtual …

Rails4とBootstrapをつかった動的なナビゲーションとパンくずリスト〜acts_as_nested_set

By: anko.gaku_ula – CC BY 2.0 目次1 Railscast2 acts_as_nested_set3 ヘッダーnav4 サイドメニュー5 パンくずリスト6 でき …

no image

Rails3.2からBackbone.jsとD3.jsを使う一例

目次1 Backbone.jsからD3.jsを使う2 RailsのネストしたURLでBackboneを使う Backbone.jsからD3.jsを使う d3.jsで力指向グラフを使って遊ぶ2のクラス構 …

RailsでECサイト構築2 注文してみる~spree

  前提 RailsでECサイト構築~spree さっきは日本に発送できなかったので、最小限の設定をして注文から入金・発送までの一連の流れをみてみる 目次1 設定2 注文してみる3 入金・発 …