0

次の ActiveRecord モデルの関連付けがあります。

ユーザーには多くの目標があります。目標には多くの目的があります。目的には多くのタスクがあります。タスクには多くの要件があります。

/api/requirements上記で定義された関連付けをドリルスルーすることにより、エンドポイントが特定のユーザーのすべての要件を返すようにする API を構築しています。しかし、私はwhere節を書くのに苦労しています。これは私がこれまでに持っているものです:

Requirement.where('tasks.objectives.goals.user_id = ?', user.id)

しかし、これはうまくいきません。関連を飛び越えて user_id に到達できないようです。

4

1 に答える 1

1

次のように試すことができます:-

Requirement.joins(:task => {:objective => :goal}).where('goals.user_id = ?', user.id)

于 2013-08-31T12:17:25.460 に答える