Rails - Открытие изображения в новой вкладке с помощью Active Storage - PullRequest
0 голосов
/ 21 января 2020

Пожалуйста, будьте терпеливы со мной, так как я очень новичок в Rails, и это мой первый вопрос по StackOverflow.

Я искал этот вопрос по-разному и пока не нашел решения, которое будет работать для меня. У меня такое ощущение, что я близко, но, возможно, мой синтаксис немного отключен, или я должен пытаться вызвать другой метод. любая помощь будет принята.

В любом случае, по моей проблеме.

Я создаю веб-приложение, которое позволит пользователям загружать фотоальбомы. У меня есть Пользователи / Альбомы / Категории / et c .. все работает нормально. Когда гость выбирает профиль пользователя, ему предоставляются альбомы, связанные с этим пользователем или созданные им. если гость затем выбирает альбом, он перенаправляется на страницу album_show, на которой отображаются все изображения в альбоме (размером 200x200), которые работают точно так, как должны. Что я не могу заставить работать, так это то, что я хочу, чтобы гость мог нажать на одну из фотографий в альбоме и открыть новую вкладку с полноразмерным изображением. В настоящее время я пытаюсь использовать этот

#album_show
<% @album.images.each do |image| %>
  <%= link_to image_tag(image.variant(resize: "200x200")), path_to :image, target: :_blank %>
<% end %>

. Я попытался добавить "path_to: image)" и заменить его на сайт, такой как "google.com", и он работает, как и следовало ожидать. нажатие на изображение открывает новую вкладку на google.com "(я сделал это только для того, чтобы убедиться, что остальная часть кода работала правильно)

, поэтому мне нужно знать, что я ставлю вместо" path_to: image, "чтобы открыть полноразмерную версию изображения, по которому щелкнули, на новой вкладке?

Заранее благодарю за помощь, и я знаю, что это нубский вопрос, ха-ха

1 Ответ

0 голосов
/ 21 января 2020

Есть несколько способов сделать это. Вы можете использовать следующую строку вместо ссылки link_to. Это именно то, что вы хотели сделать.

      <%= link_to image_tag(image.variant(resize: "200x200")), image %>

Еще один способ сделать это с помощью href.

<a href="<%= url_for image %>"><%= image_tag(image.variant(resize: "200x200")) %></a>

Это решит вашу проблему.

...