2009-11-25 63 views
2

我有一個簡單的查詢來顯示活動的用戶,但不知何故它仍顯示不活動的用戶。我正在使用獅身人面像。查詢看起來像:如何在rails中使用sphinx並根據列值排除結果

User.search keywords,:conditions=>conditions, :match_mode=>:boolean, :order =>sort_order.to_s, :page => page,:per_page =>per_page 

條件散列看起來是這樣的:

conditions = {:is_expired => false, :is_disabled => false,...} 

的condiitions包括:is_expired =>假,但它獲取那些具有用戶:is_expired =真。

我需要做些什麼才能使它只抓取那些沒有過期的記錄?

回答

1

我將列的類型從布爾值更改爲整數,並開始工作!

編輯:實際上它開始在本地工作,而不是生產。我終於看到執行命令 的輸出RAILS_ENV =生產rake thinking_sphinx:索引 ,並看到一行如下所示: 錯誤:索引'user_core':未能創建/路徑/到/ application/production/user_core。 spm:權限被拒絕。

然後我看到文件權限是「root root」而不是運行索引命令的用戶。這是因爲一旦部署者執行了「sudo su - 」等部署,並且創建的新文件以root身份作爲創建者等。我不得不刪除該文件,並且在運行索引命令後它開始正常工作。我不知道是否現在我可以從整數列類型恢復布爾雖然。

1

確保您索引is_expired和is_disabled方法。道歉,如果你已經這樣做了。

相關問題