我有一個模型與任務,用戶和Wits。 WOW屬於任務和用戶。Rails急切的加載,包括和會話屬性
我想加載所有任務的列表並且爲特定用戶加載機智。 我需要做一個LEFT OUTER JOIN並向連接添加一個條件。 這裏是正在爲現在:
Mission.joins("LEFT OUTER JOIN wits ON wits.mission_id = missions.id AND wits.user_id = #{current_user.id}")
然後在我的名單,我可以做mission.wits.first拿到屬於正確的用戶的智慧。
但它不是很友好的軌道,我必須檢查。屬性以避免在條件不滿足時加載所有智能。
有沒有更好的方法,希望使用示波器來完成工作?也許增加一個新的虛擬屬性給Mission,但是我想避免在每個列表上打20個電話給數據庫。
更新:最後我希望看到任務列表,以及每個任務的當前用戶的Wit狀態。我正在使用gem調用acts_as_api以JSON創建我的列表視圖,但是我無法訪問模型內部的會話變量,這就是爲什麼我正在查看這種熱切的加載內容,以加載所需的所有內容來自控制器。
感謝您的幫助
不,我真的很想要任務列表,我只想看看每個任務是否存在關聯機智,以及是否存在查詢狀態。 – rnaud