嘿傢伙(和女孩^^)!如何做一個「加入」與紅寶石的匿名範圍
sommebody知道如何做一個「加入」與匿名範圍在紅寶石? 使用命名作用域,您只需添加「:joins => .....」,但我無法真正找到用匿名方式執行此操作的方法...。
THX提前的幫助;)
嘿傢伙(和女孩^^)!如何做一個「加入」與紅寶石的匿名範圍
sommebody知道如何做一個「加入」與匿名範圍在紅寶石? 使用命名作用域,您只需添加「:joins => .....」,但我無法真正找到用匿名方式執行此操作的方法...。
THX提前的幫助;)
這可能取決於你在哪裏試圖加入上下文。在任何模型的類的上下文中,作用域(:find)將返回當前作用域的參數,如果需要,可以將這些參數組合或重新解釋爲連接。
你能用一些示例代碼修改你的問題嗎?
一個例子: 我一個一流公司HAS_ONE 「信息」(數據庫中的=> 2個表,公司和信息) 範圍= Company.scoped({}) 範圍= scope.conditions「信息。大小> =?「,數據[:with_size_gt],除非數據[:with_size_gt] .blank? 有了這個,我有一個MySQL錯誤告訴我,它無法找到列「信息」什麼是正常的,因爲它是一個不同的表。 在原來的named_scope中,有一個:join => [:informations]它使它工作,但我不知道如何在我的匿名範圍內做到這一點... 我希望這是明確的^^ – Mathieu 2010-04-13 14:38:53
聽起來像你可以使用一個關係計數器緩存,並避免首先做一個連接。那麼你可以在「companies.informations_count> =?」上做一個簡單的選擇。代替。 – tadman 2010-04-13 15:06:47
如果你提供了一些模型和你試圖加入的列,它會有所幫助。 – 2010-04-13 14:15:19