我用回形针管理用户上传的图片,这个网站完全使用HTTPS.为了避免IE7/IE8上愚蠢的安全警告,我还需要通过SSL提供这些图像.我通常使用以下方式渲染图像:

<%= image_tag @product.image.url(:large) %>

哪里

class Product < ActiveRecord::Base

  has_attached_file :image,
                  :styles => {
                      :large => {:geometry => "616x450#"}
                  },
                  :storage => :s3,
                  :s3_credentials => {:access_key_id => "xxx", :secret_access_key => "xxx"},
                  :path => ":attachment/:id/:style/:basename.:extension",
                  :bucket => CONFIG['s3_media_bucket'],
                  :default_url => "/assets/image_missing.png"

生成的图像URL类似于:

http://s3.amazonaws.com/media.example.com/images/6/large/image123.JPG

是否有神奇的回形针选项可以将其更改为:

https://s3.amazonaws.com/media.example.com/images/6/large/image123.JPG

推荐答案

您只需添加:

:s3_protocol => :https

这是in the documentation英镑.

There are a few S3-specific options for has_attached_file:
...

  • s3_protocol:生成到S3assets资源 的URL的协议.可以是"http"或"https".如果您的:s3_权限为:public_read(默认),则默认为"http";如果您的:s3_权限为其他任何权限,则默认为"https".

Ruby-on-rails相关问答推荐

Rails7--如何使用内联代码仅为操作运行BEFORE操作

Web控制台不会出现在例外页面Rails 7.1.1上

如何从 gem 覆盖 JSONAPI.configure

Ruby/Rails 相当于 Python 的 sys.addAuditHook

如何配置我的 Rails 应用程序(使用 Puma)以通过 HTTPS 提供服务?

组织和/或存储我一直在 RSpec 中使用的模拟对象的最佳方式是什么?

rspec中日期时间结束时的分数是多少?

Factory Girl + Mongoid 在fixture 中嵌入文档

rails select标签,预先 Select 了多个值

Rails cron 与时俱进,设置环境

用 url_for 查询参数?

模型验证中的 Rails 国际化 (I18n):可能与否?

如何在 RoR 中实现成就系统

使用god 监控独角兽 - 以非零代码开始退出 = 1

Rails:从视图内渲染视图(不是部分视图)

如何在 Ruby 中生成随机日期?

Rails:进行不可逆转的迁移是不是很糟糕?

Ruby on Rails:如何从显示的子资源中获取错误消息?

使用 heroku 和 namecheap 设置自定义域

我应该在 Heroku Cedar 上使用薄的还是独角兽