you can pass :include_blank => true as an option which adds a blank
option as the first option, but i don't think there is a way to set
the text or value of the blank option.
collection_select(:model, :id, @models, "id", "name", :include_blank => true)
after looking at the source, there is a way...
use the :prompt => "All" option in place of the :include_blank option
and you will get an initial option with the text set to what you pass
and the value will be empty
collection_select(:model, :id, @models, "id", "name", :prompt => "All")
then just check for a blank value being submitted.