Сегодня первый день, когда я изучаю Ruby on Rails, и теперь я застрял. У меня есть два помоста, artist
и song
.
В songs/new.html.erb
у меня есть следующие строки:
...
<%= f.label :name %><br />
<%= f.text_field :name %>
...
<%= f.label :Artist %>
<%= collection_select(:song, :Artist, @artists, :id, :sort_name) %>
...
В форме для создания новой песни я хочу список <select>
со всеми исполнителями. Использование кода выше работает нормально. Форма создана так, как я хочу, а художники указаны в списке. Однако при отправке новой песни я получаю эту ошибку:
Artist(#69916999335860) expected, got String(#69917057438720)
Сгенерированный HTML-код для выбора выглядит следующим образом:
<select id="song_Artist" name="song[Artist]">
<option value="1">Vreeswijk, Cornelis</option>
<option value="2">De lyckliga kompisarna</option>
<option value="3">Wiehe, Mikael</option>
<option value="4">Demian, Lars</option>
<option value="5">Sundström, Stefan</option>
</select>
Полагаю, второй последний параметр для collection_select()
неверен, но каким он должен быть?