Rails 3.2.3 にアップグレードしたところ、突然このコードが機能しなくなりました。
def self.search(query, project_id, person_id)
if query
where("number LIKE ?", "%#{query}%")
elsif project_id
where("project_id LIKE ?", project_id)
elsif person_id
where("projects.person_id = ?", person_id)
else
scoped
end
end
where
エラーをトリガーするのは最後の句です。
SQLite3::SQLException: no such column: projects.person_id: SELECT COUNT(DISTINCT "invoices"."id") FROM "invoices" LEFT OUTER JOIN "items" ON "items"."invoice_id" = "invoices"."id" LEFT OUTER JOIN "payments" ON "payments"."invoice_id" = "invoices"."id" WHERE "invoices"."user_id" = 1 AND (projects.person_id = '1')
私のモデルでは、すべてのbelongs_to
andhas_many
ステートメントが正しく設定されており、以前のバージョンの Rails で動作していました (どちらのバージョンかはわかりません)。
これを再び機能させる方法を誰か教えてもらえますか?
助けてくれてありがとう。