大佬教程收集整理的这篇文章主要介绍了将 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
。
那么,有什么解决方案的建议吗?显然我遗漏了什么?
这是显示错误的模型和控制器的预览。
在调查问题 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,请注明来意。