web-dev-qa-db-ja.com

#<ActionController :: Parameters> Rails 5.1の未定義のメソッド `map '

Railsアプリケーションを3.2.2から5.1.4にアップグレードしています。onparamsを直接使用すると、mapメソッドでgettignエラーが発生します。エラー:

actionController :: Parametersの未定義のメソッド `map '

次の行。

@assignments= params[:assignments].map {|_k, value| Assignment.new(value.merge assignment_params)}

Rails 5.1?

9
Zia Qamar

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)}
9
MrShemek