Michael Glenn
Michael Glenn

Reputation: 1882

Nil value on datetime_select?

When using <%= f.datetime_select :start %> for a "new" object form, how can you set the options to not select a date by default but rather a nil/null value? The field in the related model can optionally be null but by default the datetime_select control doesn't have a null option.

Upvotes: 11

Views: 8946

Answers (2)

Luke Francl
Luke Francl

Reputation: 31474

I think you want:

f.datetime_select :start, :include_blank => true

When start is nil, the fields will select the blank option. This also allows users to not enter a date.

See the documentation for date_select for details.

Upvotes: 29

Mike Breen
Mike Breen

Reputation: 2610

You'll want to use the :prompt option.

from the Rails docs:

  # Generates a datetime select with a custom prompt. Use :prompt=>true for generic prompts.
  datetime_select("post", "written_on", :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'})
  datetime_select("post", "written_on", :prompt => {:hour => true}) # generic prompt for hours
  datetime_select("post", "written_on", :prompt => true) # generic prompts for all

Upvotes: 0

Related Questions