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 stand object forms。

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 回答