我正在使用ActionText,并使用image_processing
gem上传图像。但是,上传图像时,它们不会进入Active Storage中设置的S3。
所有其他图像上传都可以正常工作,并且可以按预期放入我的S3存储桶中。只是上传到ActionText编辑器中的图像不使用S3 URL。但是,它们的确是正确的。这只是blob
元素中无法更改或无法访问的URL。
我假设初始化器或配置中有一个设置,我无法找到,但是我无法通过文档或Google找到它。
Blob当前使用的URL是rail/active_storage/
存储URL,我需要它来使用我在active_storage.yml文件中设置的S3 URL。
结果是我可以编辑_blob.html.erb
文件中的URL。首先,我必须检查我是否在生产中。一旦我确认我能够使用blob.key
构造要从S3抓取的URL。
<% if blob.representable? %>
<% if Rails.env == 'production' %>
<img class: "post-actiontext-image" src="https://<%= ENV['S3_BUCKET'] %>.s3-<%= ENV['AWS_REGION'] %>.amazonaws.com/<%= blob.key %>" />
<% else %>
<%= image_tag blob.representation(resize_to_limit: local_assigns[:in_gallery] ? [ 800, 600 ] : [ 1024, 768 ]), class: "post-actiontext-image" %>
<% end %>
<% end %>