我已经遵循了Rails活动存储指南(https://guides.rubyonrails.org/active_storage_overview.html#direct-上传javascript事件(。但当我上传一张图片并点击帖子时,文本会被保存,而图片则不会。我已经检查了所有三个表(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,但我不确定它在Rails6中的位置。此外,所需的代码似乎已经在这个应用程序.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
gemfile
gem "aws-sdk-s3", require: false
development.rb
config.active_storage.service = :local
型号中有has_many_attached :images
但形式是form.file_field :image, multiple: true
您需要将输入名称更改为form.file_field :images, multiple: true