Rails 4资产管道失去供应商资产

时间:2013-10-06 06:05:30

标签: ruby-on-rails ruby-on-rails-4 capistrano asset-pipeline sprockets

我似乎无法弄清楚如何让链轮在vendor/assets中找到资产。我一直在通过将所有资产添加到app/assets来解决问题,但它变得过于混乱。

我已阅读文档,并尝试将以下所有行添加到application.rb文件中。

config.assets.paths << "#{Rails.root}/vendor/assets/*"
config.assets.paths << "#{Rails.root}/vendor/assets/fonts"
config.assets.paths << "#{Rails.root}/vendor/assets/stylesheets"
config.assets.precompile << Proc.new { |path|
  if path =~ /\.(eot|svg|ttf|woff)\z/
    true
  end

他们在本地工作,但是当我将它们推送到服务器时,我的供应商资产都没有。我正在使用capistrano进行部署,我知道升级存在一些问题。这可能是问题的根源,但我按照文档来部署(几乎)一切正常。

2 个答案:

答案 0 :(得分:2)

问题结果是我变得愚蠢,并迅速在其他问题上开枪。我在兔子洞里走得太远,看不到发生的事情。我没有在正则表达式中包含otf文件类型,并且没有包含它。

捂脸

修改

澄清:我所要做的就是改变

if path =~ /\.(eot|svg|ttf|woff)\z/

if path =~ /\.(eot|svg|ttf|woff|otf)\z/

答案 1 :(得分:0)

当您运行rake assets:precompile时,是否手动将env设置为生产?

命令应为:

RAILS_ENV=production rake assets:precompile