2016-06-30 12 views
0

Ich habe ein Formular mit dynamischen Feldern. Ein Feld wird durch ein gerendertes Partial hinzugefügt. Ich würde die Ausgabe des Formulars Gruppe wie ein Array von Hashes zu sein:Wie Form-Gruppen in ein Array von Hashes setzen

task: { responses: [{text: "asdf", option: 1},{text: "qwer", option: 5} ... ]}

Ist es möglich, _tag s dies durch die Form Helfer zu tun oder muss ich etwas anderes tun? Jede Hilfe würde sehr geschätzt werden. Hier

ist mein Teil:

<% if local_assigns.has_key?(:res) %> 
<div class="task-response form-group"> 

    <%= label_tag :text, "Text", :class => 'label-control' %> 
    <%= text_field_tag "task[responses][]", '', :class => 'form-control', :value => res %> 

    <% if local_assigns.has_key?(:tasks) %> 

    <%= label_tag :option, "Option", :class => 'label-control' %> 
    <%= select_tag "task[responses][]", options_for_select(tasks.collect {|t| [t.title, t.id]}), :class => 'form-control' %> 

    <% end %> 
</div> 

<% end %> 

Antwort

0

Ich löste dies durch ein leeres Array vor dem gewünschten Hash-Schlüssel setzen:

<%= text_field_tag "task[responses][][text]" ... %> 
<%= select_tag "task[responses][][next]" ... %> 

gibt:

task: { responses: [{text: "asdf", option: 1},{text: "qwer", option: 5} ... ]}

Verwandte Themen