我有一个css包含这个:
font.css.erb
@font-face {
font-family: 'thsarabun';
src: url('<%= asset_data_uri('THSarabunNew.woff') %>');
}
在开发环境中一切正常。
但是当我想在生产环境中使用它时。我决定使用Apache2的乘客,我希望应用程序位于http://localhost/rails-app
当我使用此命令预编译资产时:
RAILS_ENV=production rake assets:precompile
我得到application-<hash>.css
这样:
@font-face{
font-family:'thsarabun';
src:url('/assets/THSarabunNew-<hash>.woff');
}
哪个网址错误,而应该是/rails-app/assets/THSarabunNew-<hash>.woff
。
我该如何解决这个问题?
问候,萨伦
答案 0 :(得分:1)
要从子目录运行Rails应用程序,您需要更改配置。
如果它只是在你想要的localhost上,请在config/environments/production.rb
中添加以下内容:
YourAppName::Application.configure do
...
config.action_controller.relative_url_root = '/rails-app'
end
看看它是否适合你。
答案 1 :(得分:0)
您可以在config/production.rb
中设置资产前缀值。默认为'/ assets'。所以在你的情况下,它将是:
config.assets.prefix = "/rails-app/assets"