Мои пользователи создают коллекции и добавляют списки в каждую коллекцию. У меня есть главная страница профиля для каждого пользователя, показывающая все коллекции, созданные этим пользователем. Теперь я хочу связать каждую коллекцию с отдельной страницей, содержащей все списки в этой коллекции.Попытка просмотра коллекции продуктов, созданной пользователем, и ссылки/отображения в отдельном файле вида
Мой файл представления пользователю показать все коллекции:
<% @collections.each do |collection| %>
<%= image_tag listing.image.url(:thumb) %>
<%= link_to "#{collection.name}", shopcollected_path(collection_id: @collection) %>
<% end %>
Когда я нажимаю на моей ссылке я доставлен в отдельную страницу коллекции (shopcollected.html.erb) просто отлично, но результаты для этого коллекция не распознается, а страница не содержит списков. Я знаю, что я пропустил одну небольшую часть, но снова застрял на этом. Я все еще изучаю извлечение объектов из баз данных и привязки.
Мой listings_controller:
def shopcollections
@user = User.find(params[:id])
@collections = Collection.where(user: User.find(params[:id])).order("created_at DESC")
end
def shopcollected
@user = User.find(params[:id])
@listings = Listing.where(collection: :collection_id)
end
Мой индивидуальный пользователь 'shopcollected' Вид файла:
<% @listings.each do |listing| %>
<%= image_tag listing.image.url(:medium) %>
<%= listing.name %>`
<% end %>
Что мне не хватает? Я считаю, что мне нужно вызвать все списки по коллекции, но для этого, где мне нужно внести изменения в свой код?
Вы можете отредактировать свой вопрос, чтобы исправить ошибки вроде этого (кнопка редактирования находится чуть ниже тегов). И, возможно, нам нужно будет увидеть код просмотра на странице shopcollected, так как я до сих пор не вижу ничего плохого в коде. –
Спасибо @paul, я исправил свой пост выше и добавил в свой код файла просмотра. Мысли? – aep
На самом деле, я считаю, что вижу ошибку.В вашем коде просмотра вверху есть 'shopcollected_path (collection_id: @collection)', но переменная, которую вы повторяете в этой точке, - это просто 'collection' (без символа at). Измените его соответствующим образом и это должно решить. –