ruby-on-rails 操作文本附件在生产中不起作用

r9f1avp5  于 2022-11-19  发布在  Ruby
关注(0)|答案(2)|浏览(184)

我们目前正在使用Active Storage将头像图像上传到Amazon S3,该软件在本地和生产环境中运行良好

class User < ApplicationRecord
  has_one_attached :avatar
end

我现在尝试使用Action Text,并按照Rails Guides上的说明操作,它在localhost上运行得很好

class Course < ApplicationRecord 
  belongs_to :user
  has_rich_text :content
end

然而,当我部署到生产时,富文本格式工作正常,但附件没有上传到S3,这让我很惊讶,因为我以为它使用的是我们用于头像图像上传的相同的活动存储凭据。奇怪的是,它用文件名填充active_storage_blobs表,即使它们没有被上传或被active_storage_attachments引用。
有人能帮忙吗?

qybjjes1

qybjjes11#

为了在AWS上配置CORS,您需要change the settings for your production bucket
JSON格式的CORS配置示例如下所示:

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "https://www.example.com"
        ],
        "ExposeHeaders": []
    }
]

其中https://www.example.com是Rails应用程序的URL。确保您允许所有来源(您可以通过将URL替换为*通配符来实现)。

2ul0zpep

2ul0zpep2#

原来默认情况下是在Action Text中直接上传(与Active Storage附件不同),并且在S3上设置CORS后可以正常工作

相关问题