我有一个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?