2013-12-23 9 views
7

Ich verstehe nicht wie: remote => true funktioniert in Schienen. Ich weiß, wenn ich es schreibe, wird eine Ajax-Anfrage gesendet und .js Antwort wird gemacht. Aber das funktioniert? Ich meine, wo die Aktion gehen etcWie: remote => true funktioniert in Schienen

+0

das Formularelement Inspizieren im gerenderten HTML im Browser, Blick auf dem 'action' Attribute. Es ist dasselbe wie eine normale, nicht-ajax, Anfrage; Für welche Action auch immer ## ### ### ### ### ### ### ### ### ### ### ## Action ### ### ### ### ### ### ### wird, wird die Aktion ausgeführt –

+0

'remote: true' sagt dem Browser nur, dass er die Seite nicht aktualisieren soll. Führen Sie die Aktion aus, die Sie normalerweise ausführen würden, aber führen Sie nichts auf der Seite aus. – Dudo

+0

Hier ist eine gute Referenz, die hilft, Dinge zu brechen: http://www.alfajango.com/blog/rails-3-remote-links-and-forms/ – Keith

Antwort

9

Lassen Sie mich die ganze Strömung von Ajax-Schienen erklären und remote=> true

Zuerst, wenn Sie remote => true die Form der Aktion hinzufügen wird vorlegen oder rufen Sie, die Sie in Form definiert haben. Hier

ein Beispiel:

<%= form_tag({:controller => 'my', :action => 'my_data'},:id => 'filter_form', :remote => true) do %> 
#code here 
<%= submit_tag 'save', :name => 'commit'%> 
<%end%> 

Nun wird der obige Code zu my_data Aktion in meinem Controller gehen.

Hier können Sie den Antworttyp mit definieren:

def my_data 
    #actions on data here 
    respond_to do |format| 
    format.js 
    end 
end 

Jetzt müssen Sie mit dem gleichen Namen wie die Aktion eine .js Datei machen:

my_data.js.erb 

Hier wird die ganze Form beeinflussen . Sie könnten das Dokumentelement über jquery und javascript schreiben und aktualisieren.

0

Für eine umfassende Referenz kann dies nützlich sein: http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html

+4

Der OP suchte wahrscheinlich nach einer ausführlicheren und aufschlussreicheren Antwort. Die Bereitstellung eines Links zu den Dokumenten ist möglicherweise nicht hilfreich. Sie können in Erwägung ziehen, dem Link einen Kontext hinzuzufügen, möglicherweise eine Zusammenfassung darüber, wie der Link Ihnen geholfen hat, oder einen bestimmten Teil, den Sie zum Auschecken empfehlen. Dieses Konzept finden Sie im Abschnitt "Kontext für Ihre Links bereitstellen" in [Antwort] (http://stackoverflow.com/help/how-to-answer) – mbigras

Verwandte Themen