【问题标题】:Active Storage image not saving to the local databaseActive Storage 图像未保存到本地数据库
【发布时间】: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 好的,这似乎已经解决了。现在我正在尝试展示它,但它不起作用(&lt;%= image_tag(@comment.images) %&gt;&lt;%= url_for(@comment.images) %&gt; 都不起作用。为此,如果我无法在我的 onw 上解决它,我将创建另一个问题。
  • @arieljuod 如果您想发表评论作为答案,我很乐意接受
  • @arieljuod 只是为了确保将图像保存到 blob 表而不是附件表中。这正常吗?

标签: ruby-on-rails rails-activestorage


【解决方案1】:

模型中有has_many_attached :images

但形式是form.file_field :image, multiple: true

您需要将输入名称更改为form.file_field :images, multiple: true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多