Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 资产路径在生产环境中返回错误路径_Css_Ruby On Rails_Asset Pipeline_Erb - Fatal编程技术网

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'); }

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