Ruby on rails 4 Rails 4字体不适用于生产环境

Ruby on rails 4 Rails 4字体不适用于生产环境,ruby-on-rails-4,asset-pipeline,assets,font-awesome,production,Ruby On Rails 4,Asset Pipeline,Assets,Font Awesome,Production,我正在尝试在我的Rails 4应用程序中使用令人敬畏的字体。字体在开发中效果很好,但在生产中却不起作用 使用capistrano部署时,在服务器上预编译资产 所有CSSs文件、JS(位于app/assets/*和vendor/assets/*)都在工作。。。只有字体不是 如果我在我的开发机器上以生产方式运行应用程序,它可以工作: RAILS\u ENV=production bin/RAILS s-b0.0.0 只有当我发送到我的生产主机(带乘客的VPS+Ngnix)时,字体才起作用 我得到的是

我正在尝试在我的Rails 4应用程序中使用令人敬畏的字体。字体在开发中效果很好,但在生产中却不起作用

使用capistrano部署时,在服务器上预编译资产

所有CSSs文件、JS(位于app/assets/*和vendor/assets/*)都在工作。。。只有字体不是

如果我在我的开发机器上以生产方式运行应用程序,它可以工作:

RAILS\u ENV=production bin/RAILS s-b0.0.0

只有当我发送到我的生产主机(带乘客的VPS+Ngnix)时,字体才起作用

我得到的是:

# config/initializers/assets.rb

# Add additional assets to the asset load path
# Rails.application.config.assets.paths << Emoji.images_path
Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|woff2|ttf)\z/
广告最后:

# app/assets/stylesheets.css.erb

@font-face {
    font-family: 'FontAwesome';
    src: url("<%= font_path('Font-Awesome/fontawesome-webfont.eot') %>?v=4.3.0");
    src: url("<%= font_path('Font-Awesome/fontawesome-webfont.eot') %>?#iefix&v=4.3.0") format('embedded-opentype'),
    url("<%= font_path('Font-Awesome/fontawesome-webfont.woff2') %>?v=4.3.0") format('woff2'),
    url("<%= font_path('Font-Awesome/fontawesome-webfont.woff') %>?v=4.3.0") format('woff'),
    url("<%= font_path('Font-Awesome/fontawesome-webfont.ttf') %>?v=4.3.0") format('truetype'),
    url("<%= font_path('Font-Awesome/fontawesome-webfont.svg') %>?v=4.3.0#fontawesomeregular") format('svg');
    font-weight: normal;
    font-style: normal;
 }
#app/assets/stylesheets.css.erb
@字体{
字体系列:“FontAwesome”;
src:url(“?v=4.3.0”);
src:url(“?#iefix&v=4.3.0”)格式('embedded-opentype'),
url(“?v=4.3.0”)格式(“woff2”),
url(“v=4.3.0”)格式(“woff”),
url(“?v=4.3.0”)格式(“truetype”),
url(“v=4.3.0#fontawesomeregular”)格式(“svg”);
字体大小:正常;
字体风格:普通;
}
字体位于:
vendor/assets/Font/Font-Awesome/fontsawesome-*

我不明白的是,在开发过程中,它可以工作,我在Heroku上有另一个应用程序,配置相同,字体也很好

如果我使用SSH访问服务器并运行
ls my_app/public/assets
,我可以看到所有预编译的资产(css、javascripts和FON)


我缺少什么?

我尝试了很多解决方案,但都没有奏效

唯一有效的方法是将文件夹“字体”从
vendor/assets
移动到
app/assets

这对我来说没有意义,因为我知道,第三方资产必须转到
vendor/assets
文件夹


但是第三个CSS和Javascript文件位于
vendor/assets/*
,可以正常工作。只有无法使用的字体文件

尝试使用
asset path
而不是
font\u path
。使用
asset path
会导致错误:
未定义的局部变量或方法“asset”对于
sry、typo,应使用下划线@罗迪克,问题是一样的。。。在开发机器上工作,在heroku上工作,但在我的生产服务器上不工作。如果我打开Chrome控制台,我可以看到:“
GET”https://mysite.co.ao/Font-Awesome/fontawesome-webfont.ttf?v=4.3.0 404(未找到)
“我也尝试了
asset\u url
,问题也是一样的。在开发机器(开发和生产环境)上工作,但在活动机器上不工作
# app/assets/stylesheets.css.erb

@font-face {
    font-family: 'FontAwesome';
    src: url("<%= font_path('Font-Awesome/fontawesome-webfont.eot') %>?v=4.3.0");
    src: url("<%= font_path('Font-Awesome/fontawesome-webfont.eot') %>?#iefix&v=4.3.0") format('embedded-opentype'),
    url("<%= font_path('Font-Awesome/fontawesome-webfont.woff2') %>?v=4.3.0") format('woff2'),
    url("<%= font_path('Font-Awesome/fontawesome-webfont.woff') %>?v=4.3.0") format('woff'),
    url("<%= font_path('Font-Awesome/fontawesome-webfont.ttf') %>?v=4.3.0") format('truetype'),
    url("<%= font_path('Font-Awesome/fontawesome-webfont.svg') %>?v=4.3.0#fontawesomeregular") format('svg');
    font-weight: normal;
    font-style: normal;
 }