2017-07-20 2 views
0

Je souhaite ajouter un nom personnalisé à un champ de sélection dans mon formulaire Rails. Le champ est généré à l'aide de l'aide d'option de formulaire time_zone_select. J'ai utilisé 'name'=>'squad_cycle[start_time][0]' avec les helpers de forme time_field et date_field et cela a fonctionné, mais cela ne fonctionne pas avec time_zone_select.Ajouter un nom personnalisé au champ time_zone_select dans le formulaire Rails

Ci-dessous mon erb:

<%= f.date_field :start_date, 'name'=>'squad_cycle[start_date][0]' %> 
<%= f.time_field :start_time, 'name'=>'squad_cycle[start_time][0]' %> 
<%= f.time_zone_select :time_zone, ActiveSupport::TimeZone.us_zones, default: 'Eastern Time (US & Canada)' %> 

sortie HTML:

<input name="squad_cycle[start_date][0]" type="date" id="squad_cycle_start_date"> 
<input name="squad_cycle[start_time][0]" type="time" id="squad_cycle_start_time"> 
<select name="squad_cycle[time_zone]" id="squad_cycle_time_zone">...</select> 
+0

Vérifiez http: //api.r ubyonrails.org/v5.1/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-time_zone_select. 'html_options' est l'argument où vous pouvez donner' name: 'your_custom_name' –

Répondre

1

Vous devez ajouter vos options html comme suit:

<%= f.time_zone_select :time_zone, ActiveSupport::TimeZone.us_zones, { default: 'Eastern Time (US & Canada)' }, { name: 'my_custom_name' } %> 

En savoir plus sur APIDock

+1

Ça l'a fait, merci! – ev662