Ruby on rails Rails 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团队希望开发和

我最近将Rails 4.1应用程序升级到了4.2。在开发模式下查看页面源时,所有资产现在都有一个与之关联的指纹:

/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

感谢您的精彩回答!谢谢你的回答!