2

フォーム タグを作成し、ユーザーから選択された値を取得しました。これは私が得るものです:

params[:user_answer_ids] = {"170"=>["599"], "162"=>["561", "563", "565"], "160"=>["549", "550"]}

次のように、このハッシュのすべての文字列を int に変換します。

params[:user_answer_ids] = {170=>[599], 162=>[561, 563, 565], 160=>[549, 550]}

あとで質問と回答のIDを比較したいので、int型に変換したいです。現在to_i、ハッシュでループするときにメソッドを使用する必要があるため、すべての文字列を一度に int に変換する方法があるかどうかを知りたいです。

4

1 に答える 1

3

あなたはそれを偽造することができます...

h={"170"=>["599"], "162"=>["561", "563", "565"], "160"=>["549", "550"]}
h.default_proc = proc{|h,k| h.key?(k.to_s) ? h[k.to_s].map(&:to_i) : nil}
p h[162]

データを変更しません。

于 2012-12-01T14:55:51.323 に答える