2013-01-24 7 views
5

için beklenen Hash (got Dizisi):Raylar 2 - Bu yüzden buna benzer bir form yaptıysanız HTML param

<form method="post"> 
<input type="text" name="categories[][name]" /> 
<input type="text" name="categories[][name]" /> 
<input type="text" name="categories[][name]" /> 
<input type="text" name="categories[][name]" /> 
<input type="submit" value="submit" /> 
</form> 

Ben

[{"name"=>"value"},{"name"=>"value"},{"name"=>"value"},{"name"=>"value"}] 

olmasını params[:categories] bekliyoruz Ama bunun yerine, 2 olacak raylar bir TypeError yükseltmek: beklenen Hash (got Dizisi) param

için hata burada ortaya çıkar:

http://apidock.com/rails/Rack/Utils/normalize_params

Bu neden izin verilmiyor veya raylara ayrılmaz? Neyi kaçırıyorum?

Ben endeks böylece

<input type="text" name="categories[0][name]" /> 
<input type="text" name="categories[1][name]" /> 
<input type="text" name="categories[2][name]" /> 
<input type="text" name="categories[3][name]" /> 

gibi girdi olabilir Ve bir karma olsun biliyorum. Ancak bu, karşı-üretken gibi görünüyor.

cevap

3

Sen indis sırasını tersine çevirmek için var: Yardım için

<input type="text" name="categories[name][]" /> 
+0

Teşekkür, ama bu ne istiyorum daha farklı bir sonuçtur. Ben sadece bir Array istemiyorum. Karmaşık bir Dizi istiyorum. Mesajımı açıklığa kavuşturacağım. – vinhboy

+1

nvm. Haklısın. Aptaldım ve kafam karıştı ... Şekerleme lazım. :( – vinhboy

İlgili konular