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でデータクリーニング~mechanize & active_support

  オライリー・ジャパンから「d3をはじめよう」という本が発売されたので読んだ 棒グラフ、折れ線グラフ、インタラクション(マウスオーバーで丸が大きくなるとかラベル表示とか、横のリストからグラ …

Rails5.1でnpmライブラリを使おう〜webpacker

By: mrenner34 – CC BY 2.0 目次1 webpacker2 インストール3 コマンドライン4 hello webpacker5 yarn6 CoffeeScript7 …

Rails3.2でリアルタイムメッセージング~Private_pub、Faye

  Railsで簡単に非同期通信ができるPrivate_pubというgemを試した もともとrubyにはFayeという非同期通信ができるgemがあったが、簡単に安全な接続ができる実装を加えた …

Railsでデータベーススキーマの変更と関連するモデルのフォーム

  gemを公開しました!詳細は記事の最後に!   新規投稿するフォームのラベルが変数を使っていて見苦しいので自分で好きなラベルを付けられるようにした いまのスキーマはこんな感じな …

RubyでFaye-websocketを試す

By: Jenny Ondioline – CC BY 2.0 目次1 公式2 インストール3 サーバ側4 クライアント側5 エラー 公式 faye-websocketは、fayeからwe …