【发布时间】:2021-03-26 00:38:06
【问题描述】:
我遵循了 Rails Active Storage 指南 (https://guides.rubyonrails.org/active_storage_overview.html#direct-upload-javascript-events)。但是当我上传图片并点击发布时,文本会保存,而图片不会。我检查了所有三个表(active_storage_attachments 等),它们都是空的。我可能做错了什么?
查看
<%= form_for([@book, @comment]) do |form| %>
<div>
<%= form.text_area :body, class:'', placeholder: 'name...'%>
</div>
<%= form.file_field :image, multiple: true, direct_upload: true %>
<div class="">
<%= form.submit "Done", class:''%>
</div>
application.js(指南说在 javascript 包中包含 activestorage.js,但我不确定它在 Rails 6 中的位置。此外,所需的代码似乎已经在这个 application.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()
型号
has_many_attached :images
宝石文件
gem "aws-sdk-s3", require: false
开发.rb
config.active_storage.service = :local
【问题讨论】:
-
尝试在表单中添加
multipart: true -
@arieljuod 好的,这似乎已经解决了。现在我正在尝试展示它,但它不起作用(
<%= image_tag(@comment.images) %>和<%= url_for(@comment.images) %>都不起作用。为此,如果我无法在我的 onw 上解决它,我将创建另一个问题。 -
@arieljuod 如果您想发表评论作为答案,我很乐意接受
-
@arieljuod 只是为了确保将图像保存到 blob 表而不是附件表中。这正常吗?
标签: ruby-on-rails rails-activestorage