Я подумал, что первое, что я хотел бы сделать, это использовать: include, но я получаю сообщение об ошибке, сообщающее, что все столбцы из таблицы адресов не существуют - возможно, потому, что он до сих пор не знает о таблице адресови все еще проверяет таблицу пользователей.
код поиска:
search = params[:search]
conditions = "real_name LIKE '%#{search}%' OR login LIKE '%#{search}%' OR email LIKE '%#{search}%'"
address_conditions = "number LIKE '%#{search}%' OR street LIKE '%#{search}%' OR city LIKE '%#{search}%' OR state LIKE '%#{search}%' OR zip_code LIKE '%#{search}%'"
conditions = conditions + " OR " + address_conditions
@paid = User.find(:all, :include => :addresses, :conditions => "has_paid = 't' AND (#{conditions})")
РЕДАКТИРОВАТЬ: изменил: include на a: объединения, и я получаю эту ошибку:
SQLite3::SQLException: no such column: number:
SELECT * FROM "users"
WHERE (has_paid != 't' AND
(real_name LIKE '%12%' OR login LIKE '%12%' OR email LIKE '%12%' OR
number LIKE '%12%' OR street LIKE '%12%' OR city LIKE '%12%' OR
state LIKE '%12%' OR zip_code LIKE '%12%'))