我正在将rails应用程序从3.2.2升级到5.1.4。 我通过使用params直接在map方法上得到错误。 错误:
未定义的方法`map' for ActionController :: Parameters
在下一行。
@assignments= params[:assignments].map {|_k, value| Assignment.new(value.merge assignment_params)}
在rails 5.1中做任何替代方法吗?
答案 0 :(得分:7)
您可以尝试使用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)}