Mam atrybut modelu FinancialDocument#document_type
. Chciałbym, aby użytkownik mógł wybrać rodzaj dokumentu z menu wybierz HTML zaludnionej przez tablicę łańcuchów ...W Railsach w jaki sposób mogę zaimplementować menu wyboru HTML przy użyciu tablicy ciągów znaków?
doctypes = [ 'Invoice', 'Packing slip', 'Other' ]
dla każdej opcji, wyświetlane etykiety i zwracana wartość byłaby identyczna.
Spojrzałem na pomocników select
i collection_select
, ale wydają się nastawieni na wybór modelu podrzędnego, a nie tylko na wartość ciągu. Nie mogłem odkryć, jak zgiąć je do mojego celu.
Oto jak próbuję to zrobić (używam haml, nie ERB) ...
form_for(@financial_document) do |f|
- doctypes = [ 'Invoice', 'PS', 'Packing slip', 'Other' ]
= f.collection_select @financial_document, :document_type, \
doctypes, :to_s, :to_s, :include_blank => true
otrzymuję ten błąd ...
undefined method `merge' for :to_s:Symbol
Czy istnieje innego pomocnika, którego mógłbym użyć do tego? Lub sposób użycia select
lub collection_select
?
Dziękuję, ale to nie zadziałało dla mnie ... niezdefiniowana metoda "scalania" dla [["Faktura"], ["PS"], ["Opakowanie poślizgu"], ["Inne"]]: Tablica – Ethan
oh, usuń pierwszy argument i wszystko jest w porządku. –