Ruby on rails Rails 4.2中的资产指纹是否已更改?
我最近将Rails 4.1应用程序升级到了4.2。在开发模式下查看页面源时,所有资产现在都有一个与之关联的指纹:Ruby on rails Rails 4.2中的资产指纹是否已更改?,ruby-on-rails,ruby-on-rails-4,sprockets,ruby-on-rails-4.2,Ruby On Rails,Ruby On Rails 4,Sprockets,Ruby On Rails 4.2,我最近将Rails 4.1应用程序升级到了4.2。在开发模式下查看页面源时,所有资产现在都有一个与之关联的指纹: /assets/application-7d90cdd9d3a3cc2a3445c0e8b748db14.js?body=1 4.2之前,我想过去是这样的 /assets/application.js?body=1 是否有更改或我是否错过了配置设置?是的,Rails 4.2现在默认在开发中启用资产摘要指纹 以下是提交: 为什么要改变?说来话长,但我的理解是Rails团队希望开发和
/assets/application-7d90cdd9d3a3cc2a3445c0e8b748db14.js?body=1
4.2之前,我想过去是这样的
/assets/application.js?body=1
是否有更改或我是否错过了配置设置?是的,Rails 4.2现在默认在开发中启用资产摘要指纹 以下是提交: 为什么要改变?说来话长,但我的理解是Rails团队希望开发和生产行为更加相似,以防止部署时出现意外错误 Rails 4中另一个相关的变化是,它不再在没有生产摘要的情况下生成资产。为了更早(即部署到生产环境之前)捕获错误,已更改开发设置以匹配生产摘要行为 要了解这有什么帮助,请举一个例子: 假设您使用的代码或jQuery插件直接通过其路径引用资产,如:/assets/logo.png。在Rails4.2之前,这在开发中可以很好地工作。但是当你部署的时候,惊喜/assets/logo.png不存在。为了让它在生产中工作,您需要使用asset_path helper生成带有指纹的正确路径 Rails 4.2迫使您在开发中使用摘要/指纹,从而帮助您在开发过程中消除这个错误。部署时不再有令人不快的意外
也就是说,这些变化是,至少可以这么说。是的,Rails 4.2现在默认在开发中启用资产摘要指纹 以下是提交: 为什么要改变?说来话长,但我的理解是Rails团队希望开发和生产行为更加相似,以防止部署时出现意外错误 Rails 4中另一个相关的变化是,它不再在没有生产摘要的情况下生成资产。为了更早(即部署到生产环境之前)捕获错误,已更改开发设置以匹配生产摘要行为 要了解这有什么帮助,请举一个例子: 假设您使用的代码或jQuery插件直接通过其路径引用资产,如:/assets/logo.png。在Rails4.2之前,这在开发中可以很好地工作。但是当你部署的时候,惊喜/assets/logo.png不存在。为了让它在生产中工作,您需要使用asset_path helper生成带有指纹的正确路径 Rails 4.2迫使您在开发中使用摘要/指纹,从而帮助您在开发过程中消除这个错误。部署时不再有令人不快的意外
也就是说,这些变化是,至少可以这么说。我发现了这块宝石: 它禁用了摘要 自述文件: 把它放在你的档案里
gem "non-stupid-digest-assets"
如果只想将某些文件的非摘要资产列入白名单,可以如下配置白名单:
# config/initializers/non_digest_assets.rb
NonStupidDigestAssets.whitelist += [/tinymce\/.*/, "image.png"]
请确保提供一个与正确资产匹配的正则表达式,或者提供相关资产的逻辑路径
请注意,逻辑路径是您将提供给asset\u url的,因此对于RAILS\u ROOT/assets/images/foo.png上的图像,逻辑路径是foo.png我发现了这个gem: 它禁用了摘要 自述文件: 把它放在你的档案里
gem "non-stupid-digest-assets"
如果只想将某些文件的非摘要资产列入白名单,可以如下配置白名单:
# config/initializers/non_digest_assets.rb
NonStupidDigestAssets.whitelist += [/tinymce\/.*/, "image.png"]
请确保提供一个与正确资产匹配的正则表达式,或者提供相关资产的逻辑路径
请注意,逻辑路径是您将提供给asset_url的路径,因此对于RAILS_ROOT/assets/images/foo.png上的图像,逻辑路径是foo.png感谢您的精彩回答!谢谢你的回答!