ruby-on-rails - ActiveStorage 图像未显示在视图中
问题描述
我遵循了 rails ActiveStorage 指南。我已成功将图像保存到本地数据库中的 blob 表中(附件表为空)。但我似乎无法在视图中显示它:
<%= url_for(@comment.images) if @comment.images %>
不起作用,也不:
<% @comments.each do |c| %>
<%= c.body %>
<%= url_for(c.images) if c.images %>
<% end %>
显示评论的其他值有效,因此这是特定于图像的。我也尝试将 .url 添加到“图像”中。而且我尝试了 image_tag 而不是 url_for。在这两种情况下都没有运气。我真的很感激任何帮助。
还有我的模特
has_many_attached :images
应用程序.js
//= require activestorage
import Rails from "@rails/ujs"
import Turbolinks from "turbolinks"
import * as ActiveStorage from "@rails/activestorage"
import "channels"
Rails.start()
Turbolinks.start()
ActiveStorage.start()
控制器
private
def comment_params
params.require(:comment).permit(:body, images: [])
end
解决方案
您需要使用 activestorage表示方法。尝试这个:
<% @comments.each do |c| %>
<%= c.body %>
<% c.images.each do |image| %>
<%= image_tag image.representation(resize: '500x500') %>
<% end %>
<% end %>
推荐阅读
- php - 基于 WooCommerce 中购物车商品数量的额外价格
- android - 如何在 androidx.recyclerview.widget 中使用 androidx.recyclerview.selection。或者如何在 android 中使用 kotlin 在 recyclerview 中选择一个项目?
- php - WooCommerce get_attributes 仅返回一个属性的值
- kubernetes - 获取所有 Pod 的当前和最新的 CPU 和内存使用情况
- android - 如何在 recyclerView Android Studio 的自定义线性布局中自定义单个元素的方向?
- html - 在 HTML 中绘制带有孔列表的 svg 多边形
- java - 如何修复“找不到符号符号:类 PhotoRepository 位置:类 com.lelo.developer.web.rest.PhotoResource”
- cqrs - 使用 Axon 服务器在不同的 JVM 之间分发事件到订阅事件处理器(没有事件源)
- javascript - Redux 中不可变更新模式的问题
- sql-server - 我使用的是 Windows 10 为什么在安装 SQL Server 2017 时会出现此注释?