2009-02-18 10 views
10

Lorsque vous utilisez <% = f.datetime_select: start%> pour un "nouveau" formulaire d'objet, comment pouvez-vous définir les options pour ne pas sélectionner une date par défaut mais plutôt une valeur nulle/nulle? Le champ dans le modèle associé peut éventuellement être null mais, par défaut, le contrôle datetime_select n'a pas d'option nulle.Valeur nulle sur datetime_select?

Répondre

27

Je pense que vous voulez:

f.datetime_select :start, :include_blank => true

Lorsque start est nul, les champs sélectionnez l'option vide. Cela permet également aux utilisateurs d'entrer une date. pas Pour plus de détails, voir the documentation for date_select pour plus de détails.

+0

ah, oui c'est beaucoup mieux. merci Luke. –

+0

encore bon jusqu'à rails 4.2.4! –

0

Vous devez utiliser l'option: prompt.

des 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 
+0

L'extension de l'échantillon ne semble pas fonctionner. <% = f.datetime_select: start,: prompt => {: jour => 'Choisir jour',: mois => 'Choisir mois',: année => 'Choisir l'année'}%> Y a-t-il une erreur de syntaxe? ici? –

+0

Vous pouvez utiliser l'assistant vanilla: <% = datetime_select: mon_objet,: start,: prompt => {: jour => 'Choisir le jour',: mois => 'Choisir le mois',: année => 'Choisir l'année'} %> –

Questions connexes