Rails - 使用 Active Storage 在新选项卡中打开图像

Rails - Opening an image in new tab using Active Storage

请耐心等待我,因为我是 Rails 的新手,这是我在 Whosebug 上的第一个问题。

我以多种不同方式搜索了这个问题,但尚未找到适合我的解决方案。我觉得我很接近,但也许我的语法有点偏离,或者我应该尝试调用不同的方法。任何帮助将不胜感激。

无论如何,解决我的问题。

我正在创建一个允许用户上传相册的网络应用程序。我有 Users/Albums/Categories/ 等。一切正常。当客人选择用户配置文件时,他们会看到与该用户相关联/由该用户创建的相册。如果客人随后选择相册,他们将被带到 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”,以便在新标签页中打开点击图像的全尺寸版本?

提前感谢您的帮助,我知道这是一个菜鸟问题哈哈

有几种方法可以做到。您可以使用以下行代替 link_to link。这正是您想要做的。

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

另一种使用 href 的方法。

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

这将解决您的问题。