# Persisting nested form attribute indexes through Turbo updates

DevFeed: [Persisting nested form attribute indexes through Turbo updates](<https://devfeed.tech/articles/persisting-nested-form-attribute-indexes-through-turbo-updates-30000.md>)

Original publisher: [Read original article](<https://engineering.freeagent.com/2026/01/08/persisting-nested-form-attribute-indexes-through-turbo-updates/>)

Author: georgebaker

Published: 2026-01-08T12:57:43Z

Content type: article

Language: en

Sources: [FreeAgent](<https://devfeed.tech/sources/freeagent.md>)

Topics: [Ruby on Rails](<https://devfeed.tech/topics/ruby-on-rails.md>), [Forms](<https://devfeed.tech/topics/forms.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [forms](<https://devfeed.tech/tags/forms.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [rails](<https://devfeed.tech/tags/rails.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [ruby-on-rails](<https://devfeed.tech/tags/ruby-on-rails.md>), [server-side-rendering](<https://devfeed.tech/tags/server-side-rendering.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [turbo](<https://devfeed.tech/tags/turbo.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

## AI overview

This article examines a problem with maintaining nested form attribute indexes when Turbo Streams update part of a Ruby on Rails form. It explains how indexes are generated during server rendering and in browser-side JavaScript, and why introducing server-side Turbo Stream rendering creates additional complexity.

## Source excerpt

Introduction We recently encountered an interesting problem when using Turbo Streams to update part of a complex nested form in FreeAgent's main Ruby on Rails web application. For those unfamiliar, nested forms allow a user to enter data relating to both a main parent object and its associated objects. This could be, for example, a [...]