如何让Bootstrap卡片中的图片在索引页实现可点击?
问题描述
在Rails应用的索引页用Bootstrap卡片展示内容,不想用传统的事件详情按钮,希望直接点击图片跳转至详情页,更具现代感。但找到的方案都是针对本地或在线托管的静态图片,没有涉及数据库中通过Active Storage关联的图片实现方式,现有代码如下:
<% if artist.avatar.attached? %> <%= image_tag artist.avatar, class: "even-size-artist" %> <% else %> <img src=<%= "https://dancewise.s3.amazonaws.com/misc-images/Blank+Avatar.png" %> class="even-size-artist"> <% end %>
实现方案
直接用Rails的link_to块级写法,把图片整体包裹起来,就能实现点击图片跳转至对应艺术家详情页的功能,兼容Active Storage关联的图片和默认远程图片两种场景:
<%= link_to artist_path(artist) do %> <% if artist.avatar.attached? %> <%= image_tag artist.avatar, class: "even-size-artist" %> <% else %> <img src="https://dancewise.s3.amazonaws.com/misc-images/Blank+Avatar.png" class="even-size-artist"> <% end %> <% end %>
补充优化
可以给图片添加CSS样式,让鼠标悬停时显示指针样式,提升交互体验:
.even-size-artist { cursor: pointer; }
内容的提问来源于stack exchange,提问作者Ogarocious
相关产品推荐
相关产品推荐

