2017-04-15 56 views
0

我已經在這幾天沒有任何運氣。但我試圖讓用戶hide或獨立標記帖子爲read。但我根本無法讓它工作。也許這是因爲我的大腦現在是內外結合的。如果current_user已將帖子標記爲「隱藏」,則獨立隱藏帖子

這裏是我的查詢:

<% 
@posts.includes(:postsettings).where.not(
    postsettings: {user_id: current_user.id}).where(postsettings: 
    {delete_post: true}).each do |post| 
%> 

我想在這裏做的是排除整個後,如果任何postsettings的包括current_user.id - 但只要其他用戶也將其標記爲已刪除 - 它會爲current_user再次彈出備份,因爲該條件是可逆的。據我所知,使用連接表,所有其他設置都是正確設置的。

任何幫助將不勝感激。什麼是正確的方法?

+0

如果你希望它是持久的,你需要一個單獨的表後ID和用戶ID。進行左連接,並僅顯示連接失敗的列(列爲空)。如果用戶標記帖子,則向該新表添加記錄。 –

+0

嗨斯隆,感謝您的快速回復。 postsettings有一個user_id和post_id。你能告訴我你的意思嗎? – Crashtor

回答

0

我認爲這應該工作,我不明白爲什麼你使用兩個查詢關聯相同的對象。

<% @posts.includes(:postsettings).where.not(
    postsettings: {user_id: current_user.id, delete_post: true}).each do |post| %> 
    ..... 
<% end %> 

希望這有助於

+0

嗨,這根本沒有任何記錄。不管這個帖子是由誰創建的。 – Crashtor