Frage

Wie schließe ich ein Onclick-Ereignis zu einem link_to_function, so dass auf das Ereignis klicken Sie auf der Seite ein Element aktualisiert (mit partials)?

Wenn der Benutzer den erzeugten Link klickt, würde Ich mag das teilweise mit dem Code zu aktualisieren, so dass i aktualisiert wird.

 def add_step_link(form_builder)
    logger.info 'ADD_STEP_LINK'
    link_to_function 'add a step' do |page|
      form_builder.fields_for :steps, Step.new, :child_index => 'NEW_RECORD' do |f|
        logger.info 'inserted js'
        html = render(:partial => 'step', :locals => { :step_form => f, :i=>@i+=1})
        page << "$('steps').insert({ bottom: '#{escape_javascript(html)}'.replace(/NEW_RECORD/g, new Date().getTime()) });"
      end
    end
  end 

Ich habe eine teilweise in einer größeren Form, die nur enthält:

<%= add_step_link(technique_form) %>

Ich versuche, von der Anzahl der Schritte in einer Technik, die Verfolgung. In der Form ich bin zu schaffen, können die Benutzer hinzufügen, neue Schritte zu einer Reihe von Anweisungen. Gerade jetzt, ich habe Standardfelder für die Schritte 1-7. Hinzufügen einen Schritt, bekommt man 8. Das Problem Schritt besteht darin, dass die nachfolgenden Schritte sind nummeriert ‚8‘ auch.

Ich bin die "Multiple Kind Modelle in einer dynamischen Form" Tutorial in http: // railsforum.com/viewtopic.php?id=28447 für meine eigenen Zwecke.

War es hilfreich?

Lösung

Ok, ich bin ein wenig verwirrt von dem, was Sie tun, aber ich werde versuchen, und einige Vorschläge zu machen.

Anstatt verwenden link_to_function , verwenden Sie link_to_remote . Link zur Funktion aufruft, JavaScript, aber was Sie wollen actally ist zurück an einen Controller tun aufrufe, dann läuft etwas rjs entweder ersetzen die vollen Teil, oder was wahrscheinlicher ist, fügen Sie den neuen Teil (enthält den Schritt) bis zum Ende der aktuellen Schritte.

Dies ist vergleichbar mit all diesen Beispielen Sie gesehen haben, wo die Menschen einen Kommentar zu dem Ende ihrer Blog-Kommentare anhängen (erwarten mit link_to_remote statt remote_form_for) sehen 3/4 des Weges durch http://media.rubyonrails.org/video/rails_blog_2.mov

Sie können die Dokumentation für link_to_remote siehe hier: http: // api. rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html

Andere Tipps

Ich schlage vor, mit link_to_remote als RichH vermuten lässt. Der Trick für Sie, es scheint ist die Verfolgung von @i. Ich würde es entweder als URL-Parameter in link_to_remote setzen, oder in dem Session-Objekt. Ich würde vorschlagen, die sitzungs scheint es einfacher.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top