2015-06-15 32 views
1

所以我有一個模型:注意屬於model:folder的文件夾需要:folder_id。 The:文件夾模型需要一個:隱私布爾值,用於確定該文件夾的筆記是否可以被其他用戶看到或不在用戶#show view中。因此,如果:privacy設置爲true,則無法看到文件夾的筆記,但在以下情況下可以查看它們:privacy設置爲false。如何根據模型中的布爾值選擇屬於模型的項目

到目前爲止,我已經能夠顯示公衆:在我user_controller以下實例變量文件夾:

@public_folders = @user.folders.where(privacy: false) 

,我一直能夠得到一個:文件夾的注意事項時:folder_id PARAM存在與此:

@folder_notes = @user.notes.where(folder_id: params[:folder_id]) 

所以我的問題是,我怎麼能選擇所有:屬於任何註釋:隱私設置爲false:其中的文件夾?

回答

1
@user.notes.joins(:folder).where(folders: { privacy: false }) 

雖然,我會想辦法讓這對Note一個範圍:

scope :with_public_folders, -> { joins(:folder).where(folders: { privacy: false }) } 

...然後你可以這樣做:

@user.notes.with_public_folders 
相關問題