pow. 2
1
2
--wybierz --
[/code]
i w związku z tym mam 2 pytania:
1. Jeżeli w powyższym wypadku będzie więcej opcji wyboru niż 3 to będę musiał się trochę namęczyć by wpisać je wszystkie, jak w widoku zrobić pętle by generowały mi się optionsy wg. powyższego schematu - 1 option jest domyślny i nie jest int, ostatni option nie jest int, pozostałe są integerami.
Czemu mam tak dziwnie posortowaną tą listę? Jak zrobić by posortowane było wg “indexów”?
modelu żadnego nie ma chciałbym uzyskać efekt na wzór tego:
[code]echo ’
-- wybierz --';
for ($i=0; $i<20; $i++){
echo ‘’.$i.’</option’;
}
echo ’
pow. 20
';[/code]
sorry za php'a ale najłatwiej w tym było mi to zobrazować - tu nie potrzeba modelu do zwykłej pętli z kolejnymi wartościami dlatego wydaje mi się, że najlepiej było by to zrobić w widoku.
Może chodzi o to że przekazałeś argument jako hash, a elementy hash’a nie posiadają kolejności, tak jak tablice, w efekcie kolejność tych elementów jest losowa.
Do sortowania możesz użyć h.sort,
h = { "a" => 20, "b" => 30, "c" => 10 }
h.sort #=> [["a", 20], ["b", 30], ["c", 10]]
Jak widać, zwróci tablice posortowana alfabetycznie według klucza.