Tengo un modelo sin tablas para el que intento generar algunos campos de formulario.Rails 3 y fields_for with activemodel (tableless) object
El formulario se ve así:
= 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"
Lo que estoy esperando que se generará para cada campo es algo como esto:
<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">
Sin embargo, lo que estoy consiguiendo realmente es
<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">
Lo que significa que cuando se envía el formulario, solo el último campo de entrada está disponible como el anterior nosotros dos hemos sido sobrescritos debido a que hacen referencia a lo mismo.
Esto funciona bien cuando el modelo tiene un backend de registro activo pero no cuando no tiene tabla.
¿Alguna sugerencia?