Proteger URLs de clipes de papel apenas para páginas seguras
Estou tentando encontrar a melhor maneira de proteger URLs de clipes de papel, mas apenas para páginas seguras.
Por exemplo, a página inicial, que mostra imagens armazenadas no S3, éhttp://mydomain.com e o URL da imagem éhttp://s3.amazonaws.com/mydomainphotos/89/thisimage.JPG?1284314856.
Eu tenho páginas seguras comohttps://mydomain.com/users/my_stuff/49 que possui imagens armazenadas no S3, mas o protocolo S3 é http e não https, então o usuário recebe um aviso do navegador dizendo que alguns elementos da página não são seguros, blá blá blá.
Eu sei que posso especificar: s3_protocol no modelo, mas isso torna tudo seguro, mesmo quando não é necessário. Portanto, estou procurando a melhor maneira de alterar o protocolo para https em tempo real, apenas para páginas seguras.
Uma maneira (provavelmente ruim) seria criar um novo método de URL, como:
def custom_url(style = default_style, ssl = false)
ssl ? self.url(style).gsub('http', 'https') : self.url(style)
end
Uma coisa a observar é que estou usando o plugin ssl_requirement, portanto, pode haver uma maneira de vinculá-lo a isso.
Tenho certeza de que há uma maneira simples e padrão de fazer isso que estou ignorando, mas não consigo encontrá-lo.