1

私は現在、一次元ハッシュで答えを返すrturkを使用しています...

{"answers[125][rating]"=>"5", "answers[126][rating]"=>"5", "commit"=>"Take Survey", "answers[125][rating]"=>"5", "authenticity_token"=>"je0Hx48qKmCzy1zmXCpijYWbl4w92eDMRajWJcVYxe0=", "gender"=>"m", "answers[120][rating]"=>"5", "answers[121][rating]"=>"5", "income"=>"$75,000 to $100,000", "answers[122][rating]"=>"5", "date[year]"=>"1992", "career"=>"Marketer", "answers[123][rating]"=>"5", "answers[124][rating]"=>"5"}

私がやりたいのは、それらを解析して多次元ハッシュにし、それを属性として渡すことです。これを理解できれば、おそらく form_tag から Rails スタンド オブジェクト フォームに切り替えるでしょう。

4

2 に答える 2

0

はい、Rack::Utils.parse_nested_query が役に立ちますが、ハッシュを文字列に変換する必要があります。

h = {"answers[125][rating]"=>"5", ...} # your hash
s = h.to_a.collect { |a| a.join('=') }.join('&')
Rack::Utils.parse_nested_query(s)
于 2010-08-28T22:57:08.613 に答える
0

Turkee gem ( http://github.com/aantix/turkee ) を参照してください。このオブジェクト マッピングが自動的に行われます。

于 2010-10-19T17:36:53.920 に答える