我正在将 Rails 应用程序从 3.2.2 升级到 5.1.4。
我直接使用参数时在地图方法上遇到错误。
错误:
ActionController::Parameters 的未定义方法“map”
在下一行。
@assignments= params[:assignments].map {|_k, value| Assignment.new(value.merge assignment_params)}
在 Rails 5.1 中还有其他选择吗?
您可以尝试使用以下方法将 params 转换为哈希值to_unsafe_h
:
@assignments= params[:assignments].to_unsafe_h.map {|_k, value| Assignment.new(value.merge assignment_params)}
或者,您可以使用迭代参数each
:
@assignments=[]
params[:assignments].each{|(_k, value)| @assignments << Assignment.new(value.merge assignment_params)}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)