2015-01-09 92 views
2

文件,如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升级有一个宝石,可以帮助你。据推测,这些评论被忽略,因为他们没有运行。测试不会拿起它们。我想也许一个静态分析工具可以帮助,但我不知道任何。

您可以删除所有这些评论carte-blanche,然后查找您在文档中的版本的任何定义,我想。也许这不是问题,因为正常的CI /测试/部署检查会检查任何不合适的或错误的设置,所以您会受到此保护。

我更感兴趣的是在部署之前删除已注释掉的设置的工具,或者对已经对这些注释掉的设置做出决定的长时间运行的应用程序的任何人。

回答

1

由不同版本的rails生成的文件包含不同的代码+引用注释,与该版本的rails的特定配置项集有关。配置&一个版本的相关注释可能对另一个版本无用。

确保应用程序在配置文件中包含正确内容(包括注释)的一种方法是将每个文件的内容与为该特定版本生成的虚拟导轨应用程序进行比较。

我通过3.0,3.1,3.2,4.0 & 4.1升级了Rails版本2.3.18至4.2的Rails应用程序,并且在每一步中,与使用目标版本的Rails创建的虚拟应用程序进行比较,使其更快升级,在新版本中增加对代码的信心。

我怀疑是否有自动化工具可以帮助完成这项工作。