在Rails 3.1中没有'http'的奇怪资产网址

时间:2011-11-09 18:18:19

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 sass asset-pipeline

我正在使用Rails 3.1.1,Ruby 1.9.3,asset_host='assets.foo.com'

<%= stylesheet_link_tag 'home' %>
<%= javascript_include_tag 'home' %>

产生

<link href="http://assets.foo.com/assets/home-f803345a3514568545f88946a69d6bab.css" media="screen" rel="stylesheet" type="text/css" />

<script src="//assets.foo.com/assets/home-da846573d17e8a062b5a8d6c122abc97.js" type="text/javascript"></script>

我无法弄清楚为什么脚本的src格式不正确。

我看到类似的网址没有CSS文件中的协议架构,这是image-url() Sass帮助器的结果。

我应该在哪里解决这个问题?

1 个答案:

答案 0 :(得分:4)

没有畸形。如今,大多数现代浏览器会在看到//时自动添加您正在使用的协议。它被称为相对协议解析。

请参阅this回答以及RFC 3986 Section 5.2