2013-01-24 10 views
5

Więc w HTML czy zrobiłem formę takiego:Szyny 2 - Oczekuje Hash (got Array) dla 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> 

spodziewam params[:categories] być

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

Ale zamiast szyn 2 będzie podnieść TypeError: oczekiwany Hash (got Array) dla param

błąd jest podniesione tutaj:

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

Dlaczego ta opcja jest niedozwolona lub nie można jej parsować? czego mi brakuje?

wiem mogłem wskaźnik wejścia Podobnie jak

<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]" /> 

I dostać Hash. Ale wydaje się to nieproduktywne.

Odpowiedz

3

Musisz odwrócić kolejność indeksie:

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

Dzięki za pomoc, ale jest to inny wynik niż to, co chcę. Nie chcę tylko tablicy. Chcę tablicę z haszami. Wyjaśnię w moim poście. – vinhboy

+1

nvm. Masz rację. Byłem głupi i zdezorientowany ... Potrzebuję drzemki. :( – vinhboy