Rails公共资产在测试中不会加载,但它们会在dev中加载

时间:2015-01-21 18:07:58

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

我正在处理一些遗留代码,并且我在开发中可用某些资产时遇到问题,而不是测试。当我在开发中导出到PDF时一切正常,但是当我尝试测试时我得到了这个错误:

"没有这样的文件或目录 - /Users/me/current_projects/foo/public/assets/uri-checkbox-icon.css"

文件在那里,但是后面有一个数字:" uri-checkbox-icon-0db5de580292128824f2242038cb1"

有谁知道为什么会加载dev,但不测试?

2 个答案:

答案 0 :(得分:0)

尝试RAILS_ENV=test bundle exec rake assets:precompile并更新environments/test.rb以便config.serve_static_assets = true。这应该在该环境中更新资产管道配置。

答案 1 :(得分:0)

您是否在development.rb和test.rb中为config.assets.digest设置了相同的设置? (见:http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care-questionmark) “指纹识别”(在资产名称后添加数字)默认为生产启用,对所有其他环境禁用。您可以通过config.assets.digest在配置中启用或禁用它。