为什么没有Rails' asset_path()使用config.assets.prefix?

时间:2016-10-18 02:09:57

标签: ruby-on-rails

我有一个fonts.css.scss.erb文件,其中包含以下行:

@font-face {
    font-family: 'Bebas Kai';
    src: url(<%= asset_path 'BebasKai-Regular.otf' %>) format("opentype");
    font-weight: normal;
}

我的资产预编译步骤合并到文件public / assets / application-3a614235a1e8ce2c0106014a7063da43.css中:

@font-face {
  font-family: 'Bebas Kai';
  src: url(/dev-assets/BebasKai-Regular-df9ac02782e1ead197370c458418a29b.otf) format("opentype");
  font-weight: normal;
}

唯一的问题是&#34; dev-assets&#34;。我想直接汇编到public/assets,而不是public/dev-assets;所以在development.rb中,我正在做

Rails.application.configure do
  config.assets.prefix = "/assets"
end

&#34; dev-assets&#34;。

更改此前缀会更改我编译的资产进入的目录。但它并没有改变asset_path使用的值。

我在source code中看到asset_path正在使用config.relative_url_root而不是config.assets.prefix。当我在development.rb中设置它时,如:

Rails.application.configure do
  config.assets.prefix = "/assets"
  config.relative_url_root = "/assets"
end

......它有效:

@font-face {
  font-family: 'Bebas Kai';
  src: url(/assets/BebasKai-Regular-88ddff7f039b7006c1fcfc9081783ecc.otf) format("opentype");
  font-weight: normal;
}

...但是我在这里瞎扯,并且不知道我正在做的事情背后的韵律或原因。

为什么没有Rails&#39; asset_path()使用config.assets.prefix?

0 个答案:

没有答案