程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将 rails 4.2.8 升级到 5.0.x大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将 rails 4.2.8 升级到 5.0.x?

开发过程中遇到将 rails 4.2.8 升级到 5.0.x的问题如何解决?下面主要结合日常开发的经验,给出你关于将 rails 4.2.8 升级到 5.0.x的解决方法建议,希望对你解决将 rails 4.2.8 升级到 5.0.x有所启发或帮助;

我正在将使用 rails 4.2.8 构建的旧 Rails 应用升级到 rails 5.0.x(尝试过 rails 5.0.1 和 5.0.7 版本,但遇到相同问题)。

基础 rails 应用程序升级顺利,我的基础 rails 应用程序运行良好。但是,有一个内置 angular 的前端应用程序,还有一个用 nodeJs 构建的前端应用程序,它具有一些通信渠道,如 API 和一些控制器,可以与基础 Rails 应用程序进行通信。

我在使用这些在线控制器之一时遇到问题

  render(:Json =>  result,methods: [:mdobjectsAttributes,:blockAttributes,:entityFormTemplateBlock],:status => 200,:errorCode => 0,:layout => falsE)

错误是:

NoMethodError (undefined method `mdobjectsAttributes' for #Formtemplateblock:0x000055d7ff2a6480>):

所以,我知道我需要更新/更改 attr_accessible 和 attr_protected 功能以支持强参数。我在模型中看到它们,但我不确定这是否对 response methods 左右有影响......我确实更新了模型以使用 ApplicationRecord 代替 ActiveRecord::Base

此外,我确实将 jbuilder 更新到最新版本 2.11.x

那么,有什么解决方案的建议吗?显然我遗漏了什么?

将 rails 4.2.8 升级到 5.0.x

将 rails 4.2.8 升级到 5.0.x

将 rails 4.2.8 升级到 5.0.x

这是显示错误的模型和控制器的预览。

解决方法

@H_616_63@

在调查问题 2-3 天后,我设法通过将缺失的方法添加到所需模型中来修复它,例如 attr_accessor:

attr_accessor  :blockAttributes,:entityFormTemplateBlock...

因为我在 15 个模型中遇到了问题,所以我不得不通过创建 ruby​​ 模块来优化我的修复并将其包含到所需的模型中。

rails app/lib/custom_attr_accessors.rb 中的模块示例

@H_506_3@module CustomAttrAccessors
    attr_accessor  :blockAttributes,:entityFormTemplateBlock..
end

最后将该模块包含到模型中:

class Formtemplate < ApplicationRecord
  include CustomAttrAccessors
.....

大佬总结

以上是大佬教程为你收集整理的将 rails 4.2.8 升级到 5.0.x全部内容,希望文章能够帮你解决将 rails 4.2.8 升级到 5.0.x所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。