config/application.rb
等文件以及许多Rails样板文件都包含有用的引用注释,如
# Custom directories with classes and modules you want to be autoloadable.
# config.autoload_paths += %W(#{config.root}/extras)
# The default locale is :en and all translations from config/locales/*.rb ...
# config.i18n.default_locale = :de
...
可能等待启用。我的问题是,当从Rails 2转移到Rails 3到Rails 4(以及将来转到Rails 5)时,你应该怎么看待它们?
标志和设置会抛出弃用警告,因为次要和主要版本,但显然不会在它们被注释掉时出现。我可以想象在Rails 2中生成设置然后在Rails 5中错误启用的情况,跳过弃用警告。
Rails 2到3升级有一个可以帮助你的宝石。据推测,这些评论被忽略了,因为它们没有运行。测试不会接受它们。我想也许静态分析工具可以提供帮助,但我不知道。
您可以删除所有这些注释,然后在我认为的文档中查找您所使用的版本的任何定义。也许这不是问题,因为正常的CI /测试/部署检查会在任何已弃用或错误的设置上进行检查,因此您将受到此保护。
我更感兴趣的是一个工具可以在部署之前删除已注释掉的设置,或者是任何有长期运行应用程序的人已经对这些已注释掉的设置做出决定。
答案 0 :(得分:1)
由不同版本的rails生成的文件包含不同的代码+引用注释,与该版本的rails的特定配置项集相关。配置和一个版本的相关注释可能对另一个版本没用。
确保应用程序在配置文件中具有正确内容(包括注释)的一种方法是将每个文件的内容与为该特定版本生成的虚拟rails应用程序进行比较。
我通过3.0,3.1,3.2,4.0& 4.1,并且在每个步骤中,与使用目标版本的rails创建的虚拟应用程序进行比较,使其更快地升级,从而对新版本中的代码提供更大的信心。
我怀疑是否有任何自动化工具可以帮助完成这项工作。