Following this example of virtual attributes I'd like to go down another
level
In other words create a form that lets a user create a project which has
multiple tasks (tasks have names) which in tern have multiple steps
(with their own attributes)
That's sounding complex. You might consider using "fields_for" to try
and get to the nesting without such a deep array stack. Look at the
API docs for "fields_for" to get an idea how you might do this.
Ultimately, what I'd do is some trial and error with a debugger in the
action so I could inspect the params hash.
-Danimal
P.S. It looks right, though. Ultimately, you'd end up with a params
hash that would have something like params[:project] => { :task =>
{ :steps => [1,2,3] } } so maybe project[task][steps] is exactly
what you need.