gpt4 book ai didi

ruby-on-rails - 在 Capistrano 中有条件地禁用 Assets 预编译

转载 作者:行者123 更新时间:2023-12-04 02:53:34 24 4
gpt4 key购买 nike

我已经看到了在 Rails 中执行惰性 Assets 预编译的各种复杂且通常无效的解决方案。作为后端开发人员,我并不特别想重新编译每次程序部署时我从不接触的 Assets ,但因为 Assets 加载在 Capfile 中。通过 load 'deploy/assets' ,而不是通过在 deploy.rb 中定义任务,我想不出有条件地禁用它的方法。

我所追求的行为是使用 cap deploy用于常规预编译部署,并使用 cap deploy:no_assets跳过 Assets 部署。

最佳答案

rails4 通过仅预编译已更改的 Assets ,它的新版本链轮解决了这个问题。同时,为了您的 rails3 我推荐的应用程序turbo-sprockets-rails3 gem 。

这颗 gem 最初是 set of patchessprockets-rails作者:Nathan Broadbent,未合并到 master因为这个问题已经在 rails4 中解决了。从自述文件:

  • Speeds up your Rails 3 rake assets:precompile by only recompiling changed assets, based on a hash of their source files

  • Only compiles once to generate both fingerprinted and non-fingerprinted assets



和:

turbo-sprockets-rails3 should work out of the box with the latest version of Capistrano.



我可以确认它在使用 Capistrano 部署的 rails-3.2.x 应用程序上运行良好。

作为 GitHubbers 的旁注,原始 pull request是如何向开源项目提交代码的一个很好的例子,即使它没有合并。

关于ruby-on-rails - 在 Capistrano 中有条件地禁用 Assets 预编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11492625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com