Ruby on rails 4 Rails 4字体不适用于生产环境
我正在尝试在我的Rails 4应用程序中使用令人敬畏的字体。字体在开发中效果很好,但在生产中却不起作用 使用capistrano部署时,在服务器上预编译资产 所有CSSs文件、JS(位于app/assets/*和vendor/assets/*)都在工作。。。只有字体不是 如果我在我的开发机器上以生产方式运行应用程序,它可以工作: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\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;
}