快速的問題。最有效的活動記錄查詢來查看記錄是否是最愛?
我有一個Rails應用程序,它有一個Book模型。
我也有一個「最喜歡」和「評級」模型。
每本書都可以由用戶收藏,用戶可以對書籍進行評分。
每次書籍被收藏或評分時,都會創建一個新的最愛或評分活動記錄條目。
所以,如果我列出所有的書都在索引視圖,我想要的書模型有一個is_favorited attribue它,看如果登錄用戶當前的收藏吧...這樣
class book
def favorite
isFavorite = false
if User.current_user
favorite = Favorite.where(:attraction_id => self.id, :user_id => User.current_user.id)
if favorite.length > 0
isFavorite = true
else
isFavorite = false
end
end
return isFavorite
end
end
我知道這不是最有效的方法。
什麼是正確的方式來做這樣的事情?
謝謝!
一如往常,在代碼中,很多方法對皮膚一隻貓。而最有效率取決於幾件事情,包括負載和書本數量等等。你正在使用哪個數據庫? – trh
我正在使用postgres – striff88
用戶可以有多個收藏夾,或只有一個? –