0
我升级到Rails 3.2.3,突然这个代码将不再有效:Where子句不再适用于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
和has_many
语句设置正确,它在我以前版本的Rails中工作(不确定哪一个是通过)。
有人可以告诉我如何再次得到这个工作?
感谢您的任何帮助。
优秀的,谢谢!实际上,我不得不使用这个语法来使它工作:'连接(:项目)' – Tintin81