Мислещият сфинкс се извиква вместо activerecord

Имам модел на работа, който има_много отчети. Моделът на отчета има обхват...

обхват: възстановен, където (: изтрит => 0)

Ако извикам обхвата от работата така...

@job.reports.undeleted

Взимам...

Sphinx Query (16.3ms) @deleted 0 Sphinx Намерени са 0 резултата

Но ако го нарека така...

@job.reports.where(:deleted => 0)

Взимам...

Зареждане на отчет (0,4 ms) SELECT reports.* FROM reports WHERE reports.job_id = 1907 AND reports.deleted = 0

и връща един резултат, който е това, което се очаква.

Защо в този случай изобщо се нарича Мислещият сфинкс? И това се случва само в производството, а не в разработката. Thinking Sphinx работи и в двете среди.


person Chris A.    schedule 12.06.2013    source източник
comment
Имате ли обхвати Thinking Sphinx?   -  person pat    schedule 12.06.2013
comment
Не съм декларирал никакви. Само индекси.   -  person Chris A.    schedule 12.06.2013
comment
О, мамка му. Има един. Приложението ми е толкова голямо, че не мога да си спомня половината от нещата, които поставих там. Чувствам се глупаво. Благодаря!   -  person Chris A.    schedule 12.06.2013


Отговори (1)


Както беше обсъдено в коментарите, проблемът тук е обхват на Sphinx и обхват на ActiveRecord, които споделят името undeleted.

Не съм напълно сигурен защо понякога едното има приоритет, а понякога другото, въпреки че смея да твърдя, че се дължи на презареждането на класа на Rails в среда за разработка.

person pat    schedule 13.06.2013