1
我在Rails中具有以下範圍。在rails中有兩個關聯的範圍
scope :with_active_services, Contact.joins(:i_services, :c_services).merge(IService.enabled).merge(CService.enabled)
我想要實現的是選擇一個已啓用i_services或c_services的聯繫人。聯繫人不一定都有。
我遇到了幾個我無法理解的問題。
範圍在此刻的方式意味着聯繫人需要同時返回一個啓用的i_service和c_service。
當我生成SQL並將WHERE條件中的AND更改爲OR時,我遇到了聯繫人仍需要同時返回c_service和i_service的問題。
我該如何修改以符合我的要求?
謝謝。
不幸的是,Rails不支持任何查詢方法的「OR」謂詞。你可能能夠使用ARel雖然,結帳[這個答案](http://stackoverflow.com/questions/3684311/rails-how-to-chain-scope-queries-with-or-instead-of-and )爲例。不知道是否可以使用現有的範圍。 –