2013-10-02 265 views
0

假設我有類似如下的Rails獲取數據(的has_many/belongs_to的)?究竟如何

我的猜測:

  1. 在頁面加載時,Rails翻出所有誰喜歡這個崗位,並檢查用戶的標識,如果這些ID的之一CURRENT_USER的ID

  2. 匹配在頁面加載,導軌拉ID的帖子用戶已經喜歡並且做與上面#1相同的東西(但是相反)

在此先感謝


問題法利在下面的評論回答..這應該已經知道,但不知何故出現了一些過去我的頭

+1

檢查你的'log/development.log',它會顯示它生成的SQL查詢。另外,你可以從命令行運行它並查看。 –

+0

@FarleyKnight你完全正確 - 'Like Load(0.1ms)SELECT「Likes」* FROM「Likes」WHERE「Likes」。「user_id」=? [[「user_id」,2]]' – goo

+0

它加載用戶的喜歡 – goo

回答

0

任何SQL引擎可以做一個搜索多個條件:

SELECT * FROM likes WHERE user_id=? and post_id=? 
0

我明白你應該獲取喜歡這樣

<% if @like = current_user.posts.where(post_id: @post.id).likes %> 

所以,它應該給你當前用戶post_id => @ post.id的帖子,然後獲取該帖子的喜歡。