Css 资产路径在生产环境中返回错误路径
我有一个css,其中包含以下内容:Css 资产路径在生产环境中返回错误路径,css,ruby-on-rails,asset-pipeline,erb,Css,Ruby On Rails,Asset Pipeline,Erb,我有一个css,其中包含以下内容: font.css.erb @font-face { font-family: 'thsarabun'; src: url('<%= asset_data_uri('THSarabunNew.woff') %>'); } 我得到的应用程序-.css如下: @font-face{ font-family:'thsarabun'; src:url('/assets/THSarabunNew-<hash>.woff'); }
font.css.erb
@font-face {
font-family: 'thsarabun';
src: url('<%= asset_data_uri('THSarabunNew.woff') %>');
}
我得到的应用程序-.css
如下:
@font-face{
font-family:'thsarabun';
src:url('/assets/THSarabunNew-<hash>.woff');
}
@font-face{
字体系列:'thsarabun';
src:url('/assets/THSarabunNew-.woff');
}
哪个URL是错误的,应该是/rails app/assets/THSarabunNew-.woff
我怎样才能解决这个问题
关于Sarun,您可以在
config/production.rb
中设置资产前缀值。默认值为“/assets”。因此,在您的情况下,它将是:
config.assets.prefix = "/rails-app/assets"
要从子目录运行Rails应用程序,需要更改配置 如果您只想在本地主机上执行此操作,请将以下内容放入
config/environments/production.rb
:
YourAppName::Application.configure do
...
config.action_controller.relative_url_root = '/rails-app'
end
看看这对你是否有效。我也尝试过,但没有成功,事实上,随着所有资产的移动,情况会变得更糟。谢谢,几乎有效。我得到了URL:
rails-app/assets/THSarabunNew-.woff
,只是缺少第一个正斜杠;)好吧,没关系,现在我说对了。谢谢你的帮助。
YourAppName::Application.configure do
...
config.action_controller.relative_url_root = '/rails-app'
end