Я хочу найти все контакты, для которых значение их отношения: has_one с: contact_status не имеет значения (означает ли это ноль?)
Я создал alias_attribute :status, :status_contact
Могу ли я сделать что-то вроде:
contacts = Contact.find(:all, :conditions => {:contact_status => nil }, :include => {:status_contact} )
Я не совсем уверен, как работает ноль.По сути, я не присваиваю ему никакого значения, это просто отношение: has_one.
РЕДАКТИРОВАТЬ: похоже, что контакты должны быть отношением own_to, поэтому вносим изменения Из комментариев этоЗвучит так, что Контакты должны на самом деле иметь отношение принадлежать к status_contacts, которое, в свою очередь, 'has_one' с Контактами.
Я использую Searchlogic для создания named_scopes ... Я думаю, это решает проблему, любойзнакомы с этим?
Однако бывают случаи, когда пользователь может присвоить этому значение.Я не хочу, чтобы они появлялись в поиске.
В настоящее время появляется эта ошибка:
SQLite3 :: SQLException: near ".": Синтаксическая ошибка: ВЫБЕРИТЕ "contacts". "Id"AS t0_r0," contacts "." First_name "AS t0_r1," contacts "." Last_name "AS t0_r2," contacts "." Title "AS t0_r3," contacts "." Phone "AS t0_r4," contacts "." Fax"AS t0_r5," контакты "." Электронная почта "AS t0_r6," контакты "." Компания "AS t0_r7," контакты "." Made_at "AS t0 _r8," контакты "." Updated_at "AS t0_r9," контакты "."Кампания_id "AS t0_r10," контакты "." date_entered "AS t0_ r11," контакты "." company_id "AS t0_r12," контакты "." address_id "AS t0_r13," контакты "." vcard_file_name "AS t0_r14," контакты "."vcard_content_type" AS t0_r15, "contacts". "vcard_file_size" AS t0_r16, "contacts". "vcar d_updated_at" AS t0_r17, "contacts". "direct" AS t0_r18, "contacts". "sugarcrm" AS t0_r19, "status_contacts","id" AS t1_r0, "status_contacts". "status" AS t1_r1, "status_contacts". "contact_id" AS t1_r2, "status_contac ts". "made_at" AS t1_r3, "status_contacts". "updated_at" AS t1_r4 ОТ "контактов"ВЛЕВО НАРУЖНОЕ СОЕДИНЕНИЕ "status _contacts" ON status_contacts.contact_id = contacts.id WHERE (: status_contact.status = NULL)