2012-03-07 38 views
1

假设我有一个文件fonts.css.scss有以下几点:Rails的:确定是否在CSS中使用SSL URL()

@font-face { 
    font-family: 'Play'; 
    font-style: normal; 
    font-weight: bold; 
    src: local('Play-Bold'), url('http://themes.googleusercontent.com/static/fonts/play/v3/aBiGxW3iLixHo08CkkYT9gLUuEpTyoUstqEm5AMlJo4.woff') format('woff'); 
} 

如果我的应用程序是通过SSL来请求,字体文件上面仍然会请求不安全,许多浏览器不喜欢并且会抱怨。

我尝试将文件重命名为font.css.erb,然后尝试使用request.ssl?来确定是使用http还是https,但显然request在资产中未定义。

所以,你可以更改有必要时加载SSL上的字体?

回答

0

的问题是,在资产目录中的CSS文件被编译成静态资产,但你需要的CSS的那个片段是动态的。如果这是您唯一担心的网址,那么您可以将其放入您的视图中。如果在你的css中引用了很多url,你可以创建两个不同的css文件,一个https友好,一个不是。然后动态决定从您的视图加载哪个文件。

+0

啊,这是同样的结论我在现在,我已经采取了休息,有一个清晰的头:)到了。我决定只是对'https://'进行硬编码,因为这将始终有效,并且对于这个特定的请求,SSL调用的额外开销将很小。 – 2012-03-08 03:04:02

相关问题