2015-05-04 6 views
1

Я попытался найти с массивом значений, используя условия и включает. Но gettting ошибки ..рельсы включают в себя массив id при условии

ниже работают хорошо и возвращать бенефициар пользователя включены

Beneficiary.includes(:user).where("beneficiaries.id = ?",304) 

, но когда я пытаюсь с массивом ID я получаю ошибку

Beneficiary.includes(:caterer_info).where("beneficiaries.id = ?",[304,305]) 

ActiveRecord::StatementInvalid: Mysql::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '304,305)' 
+0

может помочь http://stackoverflow.com/questions/5947593/how-to-use-in-1-2- 3-с-FindAll –

ответ

0

Почему не пытайтесь использовать метод where вместо find_all_by_id

Beneficiary.includes(:caterer_info).where('beneficiaries.id IN (?)', [304,305]) 
1

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

Beneficiary.includes(:caterer_info).where({beneficiaries: {id: [304,305]}}) 
0

нашел ответ на мои собственные

Beneficiary.includes(:user).where("beneficiaries.id IN (?)",ids) 

Благодарности

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