【发布时间】:2021-03-26 01:56:45
【问题描述】:
我遵循了 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
【问题讨论】:
-
images真的是复数吗?如果是这样,您将需要遍历它们。 -
@RockwellRice 感谢您的评论。我试过
<% c.images.each do |i| %> <%= url_for(i) %> <% end %>但没用。还尝试了 image_tag 并且没有任何,只是“i” -
请在问题中添加更多详细信息。添加模型以及如何设置附件
-
@amazingbot 很好,但是如果它是复数,那么无论如何你都需要循环遍历它,你的解决方案会进入循环。
-
@DeepakMahakale 感谢您的评论。我已经更新了问题。
标签: ruby-on-rails rails-activestorage