asset_path帮助程序未实现

时间:2014-02-06 00:02:14

标签: ruby-on-rails heroku sass activeadmin sprockets

尝试在Heroku上编译资产时收到此错误

   Custom asset_path helper is not implemented
   Extend your environment context with a custom method.
   environment.context_class.class_eval do
     def asset_path(path, options = {})
     end
   end

我已经尝试了很多我可以通过谷歌找到的东西。在预编译包含2个@import语句的资产active_admin.css时,Heroku似乎陷入了困境。如果我对它们进行评论,那么构建将继续进行,但没有活动的管理样式表在生产中工作。

如果有人有任何想法,请告知。谢谢。

1 个答案:

答案 0 :(得分:0)

我通过删除application.rb中与资产预编译相关的所有配置来修复此问题,并添加了一个catch all编译脚本。我想不知何故它丢失了一个文件,导致错误:

# Precompile all assets
# application.rb
config.assets.precompile << Proc.new do |path|
  if path =~ /\.(css|js)\z/
    full_path = Rails.application.assets.resolve(path).to_path
    app_assets_path = Rails.root.join('app', 'assets').to_path
    if full_path.starts_with? app_assets_path
      puts "including asset: " + full_path
      true
    else
      puts "excluding asset: " + full_path
      false
    end
  else
    false
  end
end