我正在尝试找到使剪纸网址安全的最佳方法,但仅适用于安全网页.
例如,显示S3中存储的图像的主页为http://mydomain.com,图像网址为http://s3.amazonaws.com/mydomainphotos/89/thisimage.JPG?1284314856.
我有像https://mydomain.com/users/my_stuff/49这样的安全页面,其中存储了S3中的图像,但是S3协议是http而不是https,所以用户从浏览器获取警告,指出页面上的某些元素不安全,blah blah blah.
我知道我可以在模型中指定: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插件,所以可能有一种方法可以与之配合使用.
我相信有一些简单,标准的方法来做到这一点,我忽略了,但我似乎找不到.
解决方法
如果现在有人绊倒了:
April 2012以来有
solution in Paperclip!简单地写道:
Paperclip::Attachment.default_options[:s3_protocol] = ""
在初始化程序中或使用模型中的s3_protocol选项.
感谢@Thomas Watson发起这个.