请耐心等待我,因为我对 Rails 还很陌生,这是我在 StackOverflow 上的第一个问题。
我已经通过多种不同的方式搜索了这个问题,但尚未找到适合我的解决方案。我有一种感觉,我已经很接近了,但也许我的语法有点偏离,或者我应该尝试调用不同的方法。任何帮助将不胜感激。
无论如何,解决我的问题。
我正在创建一个网络应用程序,允许用户上传相册。我有用户/相册/类别/等..一切正常。当访客选择用户配置文件时,他们会看到与该用户关联/由该用户创建的相册。如果访客选择了相册,他们就会被带到 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_to image_tag(image.variant(resize: "200x200")), image %>
另一种使用 href 的方法。
<a href="<%= url_for image %>"><%= image_tag(image.variant(resize: "200x200")) %></a>
这将解决您的问题。
关于html - Rails - 使用 Active Storage 在新选项卡中打开图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59834712/