做vip视频网站赚钱吗,有没有网站开发软件,运用阿里云怎么做网站,青岛信息网1.准备工作
在开始升级过程之前#xff0c;我们有一些建议的准备工作。
升级的时候#xff0c;最好一个版本一个版本升级#xff0c;比如6.0到6.1再到7.0#xff0c;不要一次从6.0到7.0至少80%的测试覆盖率#xff0c;测试真的很重要#xff0c;能确保升级快速完成。本…1.准备工作
在开始升级过程之前我们有一些建议的准备工作。
升级的时候最好一个版本一个版本升级比如6.0到6.1再到7.0不要一次从6.0到7.0至少80%的测试覆盖率测试真的很重要能确保升级快速完成。本地新开分支升级测试全部跑过后再合到staging环境让测试人员过一遍。可以通过使用RailsBump检查你的Gemfile.lock是否有不兼容之处。根据gemfile.lock把gemfile中的gem都固定原来版本只升级rails后续有精力再升级gem
2.Rails指南
查阅官方的Rails指南并遵循你的应用程序所需的任何步骤这一点很重要。
3. 升级
使用rails app:update进行升级
4. webpack
6.0里是bin/webpack bin/webpack-dev-server命令6.1里使用rails webpacker:install命令会生成bin/webpacker bin/webpacker-dev-server命令都保留即可使用rails webpacker:install命令还会更新package.json yarn.lock文件建议升级rails时不要更新等升级完稳定后可以考虑升级
5.zeitwerk
Zeitwerk如果你的应用程序仍然在经典模式下运行你需要切换到zeitwerk模式。也没有设置自动加载模式的配置点config.autoloader 已经被删除。如果你把它设置为:zeitwerk 只要把它删除即可。查看我们写的关于Zeitwerk升级的文章。使用Rails.application.config.autoloader查看现在的模式使用rails zeitwerk:check检查是否需要添加appliaction.rb中的 config.eager_load_paths 如果打印的不是All is good!则根据提示添加
# config/application.rb
config.eager_load_paths Rails.root.join(app, models, prod_readonly)
config.eager_load_paths Rails.root.join(lib)6.valid
record.errors[attribute] message改为record.errors.add(attribute, :invalid, message) # record.errors[attribute] (options[:message] || 手机号格式错误)record.errors.add(attribute, :invalid, message: options[:message] || 手机号格式错误) # record.errors[:owner] 无法对自己的货品进行竞拍record.errors.add(:owner, :invalid, message: 无法对自己的货品进行竞拍)# record.errors[:base] 无法对自己的回流单创建订单record.errors.add(:base, :invalid, message: 无法对自己的回流单创建订单)7. 提示BigDecimal等错误或警告
# config/application.rbconfig.active_record.yaml_column_permitted_classes [Symbol, Date, Time, BigDecimal,ActiveSupport::TimeWithZone, ActiveSupport::TimeZone]6. 其他 Spring。如果你的应用程序使用Spring它需要升级到至少3.0.0版本否则你会得到undefined method mechanism for ActiveSupport::Dependencies:Module Sprockets现在是一个可选的依赖项。Rails不再依赖sprockets-rails了。如果你的应用程序仍然需要使用Sprockets你需要明确地添加该依赖关系。如果你想把你的javaScript代码从sprockets迁移到Webpacker可以看看这个博文。