2017-11-05 3 views
0

ich bin immer ein bisschen mit diesem verrückt, ich habe ein Ereignis die has_manyAttendants aber ich habe nicht in der Lage gewesen, dynamisch innerhalb der Event-Formular zu erstellen, ich habe ein Teil mit der Form von Attendant, das funktioniert:Rails machen teilweise dynamisch

<%= form.fields_for :attendants do |form_attendant| %> 
    <%= render 'form_attendant', form_attendant: form_attendant %> 
<% end %> 

für 1 Begleiter, wenn ich copy-paste, dass es für 2 und so weiter arbeitet ..

Ich will einen Knopf, der das für mich macht, ich habe einen Loooot gelesen und ausprobiert.

Option 1: ich in js versucht haben, dass anhängen, mit:

$("#attendants").append "<%= form.fie ... %>" 

aber es drucken Sie einfach den Text und die teilweise nicht machen, ich habe versucht, mit escape_javascript zu ohne Glück.

ich jetzt versuchen, mit:

<%= link_to "Agregar", new_attendant_path, remote: true %> 

Ich habe diese in Begleiter/new.js.erb

$('#attendants').append("<%= escape_javascript (render partial: 'form_attendants') %>"); 

Welche tatsächlich funktioniert und die teilweise machen, aber jetzt ich nicht‘ Ich weiß, wie man das lokale Ereignisformular so sendet, dass ich <%= form.fields_for :attendants do |form_attendant| %> ... innerhalb der Teil,

machen kann

geschätzt Jede Hilfe wäre, bin ich fast

Antwort

0

Versuchen weinen cocoon gem zu verwenden, um es tun alles stopft

1

nested_form_fields gem

= form_for @user do |f| 
    = f.nested_fields_for :videos do |ff| 
    = ff.remove_nested_fields_link 
    = ff.text_field :video_title 
    .. 
    = f.add_nested_fields_link :videos 

Sie können den Link-Text von remove_nested_fields_link ändern Versuchen und add_nested_fields_link, Klassen/Attribute usw. hinzufügen.

Sie können auch das Hinzufügen/Entfernen-Funktionalität anpassen, indem Sie den

nested_form_fields.js.coffee in Ihre Schienen zwingende JavaScript-Asset

für weitere Informationen

https://github.com/ncri/nested_form_fields

<%= form_for @users do |f| %> 
<%= f.fields_for :attendants do |form_attendant| %> 
    <%= render 'form_attendant', form_attendant: form_attendant %> 
<% end %> 
<%= f.add_nested_fields_link :attendants %> 
<% end %> 

Teil _form_attendant.html. erb

<%= form_attendant.remove_nested_fields_link %> 
<%= form_attendant.text_field :attd_date %> 
<%= form_attendant.text_field :attd_time %> 
Verwandte Themen