【问题标题】:`undefined method `find_asset' for nil:NilClass``nil:NilClass 的未定义方法`find_asset`
【发布时间】:2016-05-17 01:26:19
【问题描述】:

我正在使用'rails', '4.2.5' 和wicked_pdf gem 来生成和下载PDF,但是在Heroku 上,它不包括使用wicked_pdf_stylesheet_link_tag 标签的css。

Heroku 错误日志:

ActionView::Template::Error (undefined method 'find_asset' for nil:NilClass) 

我错过了这里的任何配置吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 heroku wicked-pdf


    【解决方案1】:

    一个简单的谷歌搜索,发现这个错误was reported in the official wicked_pdf repo在12月。

    按照问题中的建议设置assets.compile = true 将解决它。 sprocket-rails != 3.0.0 不需要此更改

    【讨论】:

    【解决方案2】:

    要使其在开发和生产环境中工作,请勿使用

    Rails.application.assets.find_asset(logical_file_path).to_s
    

    对于 sprockets-rails 版本 > 3.0.0 但使用这个(需要 gem compass-rails):

    CompassRails.sprockets.find_asset(logical_file_path).to_s
    

    如果您不使用 gem compass-rails,您可以通过以下方式获取资产:

    (Rails.application.assets || ::Sprockets::Railtie.build_environment(Rails.application)).find_asset(logical_file_path).to_s
    

    【讨论】:

    • 如果你使用上面的语句来检查资产是否存在,把最后的小to_s去掉,因为nil.to_s = "" = true
    猜你喜欢
    • 2011-07-27
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多