У меня есть модель без таблиц, для которой я пытаюсь сгенерировать некоторые поля формы.
Форма выглядит следующим образом:
= form_for :users, url: users_path do |f|
- books.each do |book|
= f.fields_for :books, book do |bf|
= bf.hidden_field :title, value: book.title
= f.submit "Send"
То, что я ожидаю, будет сгенерировано длякаждое поле выглядит примерно так:
<input name="users[books][][title]" type="hidden" value="Some Book Title">
<input name="users[books][][title]" type="hidden" value="Some Book Title">
<input name="users[books][][title]" type="hidden" value="Some Book Title">
Однако на самом деле я получаю
<input name="users[books][title]" type="hidden" value="Some Book Title">
<input name="users[books][title]" type="hidden" value="Some Book Title">
<input name="users[books][title]" type="hidden" value="Some Book Title">
. Это означает, что при отправке формы в качестве поля доступно только последнее поле ввода.предыдущие два были перезаписаны из-за того, что они ссылались на одну и ту же вещь.
Это работает нормально, когда модель имеет активный бэкэнд записи, но не когда она без таблиц.
Есть предложения?