2015-01-21 4 views
2

В Rails 3 я имел этот вопрос:рельсов 4: найти, включает в себя поле

Supporter.includes(:person).where("concat(club_member_number, ' ', people.surname, ' ', people.name) LIKE ?", term) 

Однако в Rails 4 он througth ошибки:

ActiveRecord::StatementInvalid Exception: Mysql2::Error: Unknown column 'person.surname' 

Как я мог изменить запрос для его работы в Rails 4?

ответ

3

Попробуйте следующие

Supporter.eager_load(:person).where("concat(club_member_number, ' ', people.surname, ' ', people.name) LIKE ?", term) 

ИЛИ использовать references(:person) с includes

Supporter.includes(:person).where("concat(club_member_number, ' ', people.surname, ' ', people.name) LIKE ?", term).references(:person) 

См this

+0

благодаря Salil ссылки был ключ! – user1364684

+0

Добро пожаловать :), счастлив помочь – Salil

Смежные вопросы