2014-11-25 15 views
6

Mam element formularza z:niezdefiniowana metoda `seryjnej”: Nazwa: Symbol Rails 4.1.x collection_select

<%= f.collection_select :race, :id, Race.all, :id, :name, prompt: true %>

ta pozwala wybrać rasę znaków w przygodzie tekstu tworzę. Celem jest upuszczenie wszystkich dostępnych ras, wybór według nazwy i przekazanie params id z powrotem.

Ale kiedy załadować stronę otrzymuję undefined method seryjnej”dla: Nazwisko: Symbol`

Spojrzałem w górę docs i myślę, że robię to dobrze, ale chyba nie? Co ja robię źle?

Odpowiedz

18

Numer f. wskazuje, że znajduje się w bloku form_for? Co oznacza, że ​​sygnatura metody f.collection_select różni się od zwykłej collection_select. Pierwszy parametr jest automatycznie dostarczany przez FormBuilder, więc jeśli :race jest atrybutem obiektu formularza, które zakładam, że to postać, wystarczy:

<%= f.collection_select :race, Race.all, :id, :name, prompt: true %> 

Zobacz dokumentację dla FormBuilder#collection_select method.

Powiązane problemy