我正在尝试找到使回形针网址安全的最佳方法,但仅适用于安全页面。
例如,显示存储在 S3 中的图像的主页是http://mydomain.com,图像 url 是http://s3.amazonaws.com/mydomainphotos/89/thisimage.JPG?1284314856。
我有像https://mydomain.com/users/my_stuff/49这样的安全页面,这些页面将图像存储在 S3 中,但是 S3 协议是 http 而不是 https,因此用户会从浏览器收到警告,说某些元素在页面不安全,等等等等。
我知道我可以在模型中指定 :s3_protocol,但这可以确保一切安全,即使在没有必要时也是如此。因此,我正在寻找将协议动态更改为 https 的最佳方法,仅适用于安全页面。
一种(可能是坏的)方法是创建一个新的 url 方法,例如:
def custom_url(style = default_style, ssl = false)
ssl ? self.url(style).gsub('http', 'https') : self.url(style)
end
需要注意的一点是,我正在使用 ssl_requirement 插件,因此可能有一种方法可以将其与它联系起来。
我确定有一些简单的标准方法可以做到这一点,但我似乎找不到它。