Witam. Jak najlepiej zrobić formularz dodawania rekordu który zawiera w sobie odwołanie do innego tabeli?
Np. Post jest przypisany do kategorii. Czy po prostu zrobić select “na chama”, czy może jednak jest jakiś łatwiejszy pół automatyczny sposób?
Witam. Jak najlepiej zrobić formularz dodawania rekordu który zawiera w sobie odwołanie do innego tabeli?
Np. Post jest przypisany do kategorii. Czy po prostu zrobić select “na chama”, czy może jednak jest jakiś łatwiejszy pół automatyczny sposób?
Możesz na przykład w kontrolerze:
@categories_for_select = Category.find(:all).map {|c| [c.name, c.id]}
w widoku (formularz):
<%= select 'post', 'category_id', @categories_for_select %>
Nie wiem czy o to Ci chodziło czy może o dodawanie za jednym razem kilku modeli po wysłaniu formularza ?
O coś podobnego mi chodziło. Tylko że dwa pytania:
[quote=br-design.pl]O coś podobnego mi chodziło. Tylko że dwa pytania:
<%= select 'post', 'category_id', ["Wybierz kategorię", 0] + @categories_for_select %>
Zaznaczy, bo korzystasz z helpera “select”, który tak jak inne mu podobne helpery wybiera zapisaną wartość i ją wyświetla/zaznacza.
Jest mały problem, zrobiłem tak jak napisałeś ale system wydaje się traktować @categories_for_select jako tablice jedno elementową, bo dodając przy helperze do niej element [“wybierz”, 0], wyświetla mi tak naprawdę dwa elementy option, jeden o value i wartości “wybierz”, a drugi o value i wartosci “0”.
Oops, chyba zabrakło mi klamr 
spróbuj z [[“Wybierz…”, 0]] + @categories_for_select
Dzięki! Zadziałało!