Jest tak wiele wyników dla tego wyszukiwania w google, a nawet pytano w SO - ale rozwiązania omówione do tej pory nie pomagają mi. Oto problem: Mam form_for @company |f|
i używam f.collection_select
dla company_status_id
- ale kiedy formularz ładuje, chcę, aby faktyczny status firmy został wybrany, jeśli jest ustawiony. Dzięki debuggerowi wiem, że został ustawiony, ale dostaję tam domyślną wartość. Oto kod:f.collection_select nie wyświetla wybranej wartości
= puts @company.company_status_id
= f.collection_select :company_status_id, ListCache.company_statuses, :id, :name, {:prompt => @select_value}
oto generowane htmnl
<select id="company_company_status_id" prompt="-Select-" name="company[company_status_id]">
<option value="1">-Not Available-</option>
<option value="2">Active</option>
<option value="3">Bankrupt</option>
<option value="4">Acquired</option>
</select>
a warunki pozostają takie same, nawet jeśli robię:
f.collection_select :company_status_id, ListCache.company_statuses, :id, :name, {:prompt => @select_value, :selected => :selected => @company.company_status}
Albo
f.collection_select :company_status_id, ListCache.company_statuses, :id, :name, {:prompt => @select_value, :selected => @company.company_status}
poprzez zestawienie stawia tam, widzę company_status_id jest ustawiony, ale nie działa poprawnie. Używam szyn 2.3.11. [this] (http://stackoverflow.com/a/1065359/878451) odpowiedź mówi dokładnie, czego chcę, a także co robię, ale co nie działa. –
to powinno działać. show @ company.company_status_id i ListCache.company_statuses – tokland
Czy możesz zamieścić definicję formularza jako zależną od obiektu f.object? –