This is cleaner than the official method IMO, because it involves zero / minimal model object modification. The wizard logic clearly belongs to the controller only.
The basic ideas are:
- Derive from the
save to make Wicked behave. You can do arbitrarily complex thing there without wrangling with validation conditions.
Here’s the code:
Here is another version using a
partial flag to persist the partial object in database: