2016-08-22 3 views
0

Я пытаюсь создать страницу «Мои файлы», где перечислены документы, загруженные пользователями, но у меня проблемы с фильтрацией документов на пользователя.Документы-документы для разработчиков

В настоящий момент отображаются все загруженные документы, а не документ, связанный с пользователем, который его загрузил.

Я использую разработать для пользователей

Я пытался изменить, если заявление в различных различных условиях, но не могу показаться, чтобы фильтровать документы, связанные с каждым пользователем.

Это мой код страницы «Мои Файлы»:

<% @documents.each do |document| %> 
    <% if @document = current_user.documents.find_by(params[:user_id]) %> 
     <%= link_to document.title, document %>: <%= link_to "Download", document.pdf(:original, false) %> 
    <% end %> 
<% end %> 

Это мой код контроллера документов для страницы MYFILES:

def myfiles 
    @documents = Document.all 
end 

Есть простой способ, которым я могу фильтровать документы, связанные с каждым пользователем?

ответ

0

Этот метод будет показывать документы, связанные с только текущим пользователем.

файл контроллер:

def myfiles 
if current_user 
    @documents = current_user.documents 
else 
    @documents = Document.all 
end 
end 

Просмотр файл:

<% @documents.each do |document| %> 
<%= link_to document.title, document %>: <%= link_to "Download", document.pdf(:original, false) %> 
<% end %> 
0

Rails find_by возвращает первую найденную запись. Вероятно, вы ищете where.

В контроллере:

@documents = if params[:user_id] 
    current_user.documents.where(user_id: params[:user_id]) 
else 
    Document.all 
end 

В представлении:

<% @documents.each do |document| %> 
    <%= link_to document.title, document %>: <%= link_to "Download", document.pdf(:original, false) %> 
<% end %> 

http://apidock.com/rails/ActiveRecord/FinderMethods/find_by http://apidock.com/rails/ActiveRecord/QueryMethods/where

+0

Это все еще показывает все документы, а не документы, связанные с одним пользователем –

+0

Где пары: user_id взялись? – codyeatworld

Смежные вопросы