Nested resource with nested models -- nested models not saved in child classes

I have a nested model, Experiment, with
accepts_nested_attributes_for :sources, and I was creating it and its
sources in a single form using forms_for and fields_for. (Also, some
JS to add/remove sources.)

Matrix has_many :experiments, also.

It worked great.

Then I tried to make it a nested resource (inside of Matrix, e.g.,
matrices/1/experiments/new). It took a while, but I finally got the
form_for working again like so:

form_for([@matrix, @experiment]) do |f|

Fine, okay.

Then, I created new classes which inherited from Experiment –
Predictor and Distribution.

I can create new predictors with sources. Works fine. Unfortunately,
editing fails, even though the form code is exactly the same (a
partial). I can edit or create new distributions, but any sources I
include are absent at the end of the save. They show up in the params
hash, but don’t appear to be saved.

Is this a problem with my use of fields_for / nested-resources, or is
it a problem with inheritance?

Anyone seen anything like this before?