1

PostgreSQL の継承機能を使用してデータをモデル化していますがONLY、特定の ActiveRecord モデルのクエリでキーワードを使用する必要があります。たとえば、Shift.allを呼び出したいとしSELECT shifts.* FROM ONLY shiftsます。assigned_shiftsそれ以外の場合は、子テーブルからの結果も返されます。

私が知る限り、これを行うための簡単に構成できる方法はありません。set.table_name = 'ONLY shifts'ActiveRecord モデルを試してみましたが'ONLY shifts'.*SELECTステートメントに追加されるため、エラーが発生します。

必要なクエリを作成するために、Arel または ActiveRecord にモンキー パッチを適用する方法はありますか?

4

1 に答える 1

5

私は自分で答えを見つけました。

後世のために:

class Shifts < ActiveRecord::Base
  default_scope -> { from("ONLY shifts") }
end
于 2013-10-23T16:09:49.033 に答える