If you're a user of Formtastic then you might have seen some deprecation warnings in your logs informing you that the :selected and :checked options are being deprecated.
The problem from Formtastic's perspective, is deciding when to use the default value and when to use the existing value for your model.
I had this problem for a Rails application I'm working on.
Assessments are made up of responses which in turn are made up of a series of scores. The user selects the score for each response, but I needed to set my own default score rather than use the first item in the score's options list.
It's actually a doodle to get around.
Using the after_initialize callback in your model, you can set the selected value for your model's attribute when you create it.
Here we have a Response model that belongs to a Score model. Using the after_initialize callback, we can get the default score for our new response and set the default value that we wish to use in our form.
The Formtastic wiki also mentions that you can define the default selection you need in the controller, but I much prefer to keep as much of my data logic close to the model itself, so I opted to use this callback rather than clutter up my controller.