Select Page

AJAX mit Ruby on Rails und :remote => true

by | Jan 16, 2019 | Ruby, Engineering

Mit :remote => true bietet das das Ruby Webframework Rails eine sehr einfache Methode um mit Hilfe von AJAX eine Webseite zu aktualisieren. Dieses kann z.B. einfach zu HTML-Elementen wie Formulare, Buttons, Links und Checkboxen hinzugefügt werden. Dadurch werden z.B. gefüllte Formulare nicht mehr wie gewohnt an den Webserver gesendet, sondern mit AJAX. Man erspart dem Benutzer dadurch einen lästigen ggf. langwierigen Seitenaufbau. Im Gegenzug muss man sich aber selber um eine Aktualisierung der Webseite mit Hilfe von jQuery oder JavaScript kümmern.

Folgender Code in einem View erstellt eine Checkbox welche bei einem Klick mit Hilfe von AJAX einen HTTP Post an die angeben URL sendet:

[ruby]
check_box_tag(
"my_checkbox", "i_am_checked", false,
data: {
remote: true,
url: "my_checkbox/click",
method: "POST"
}
)
[/ruby]

Der Request muss in diesem Fall vom my_checkbox Controller angenommen und verarbeitet werden. Um die Ansicht des Benutzers zu ändern schickt man mit den bekannten Rails Methoden Javascript an den Browser zurück. Im my_checkbox_controller.rb erweitert man z.B. die respond_to einfach um ein format.js:

[ruby]
def click
respond_to do |format|
format.js {}
end
end
[/ruby]

Der dazugehörigen View (click.js.erb) wird somit an den Browser zurück gesendet und man kann per JavaScript die Webseite aktualisieren:

[javascript]
console.log(‘I am the response!’)
alert(‘You clicked the checkbox!’)
[/javascript]

Rails bietet mit :remote=>true somit eine wirklich einfach Methode um AJAX für seine Webseite einzusetzen!

Achim Ledermüller
Achim Ledermüller
Senior Manager Cloud

Der Exil Regensburger kam 2012 zu NETWAYS, nachdem er dort sein Wirtschaftsinformatik Studium beendet hatte. In der Managed Services Abteilung ist er für den Betrieb und die Weiterentwicklung unserer Cloud-Plattform verantwortlich.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

More posts on the topic Ruby | Engineering

Daily business: der Editor vim

Es ist unerfreulich lange her, dass ich das erste Mal mit vim in Berührung kam -- anno 1997, um genau zu sein, während meiner ersten verzweifelten Gehversuche in Sachen S.u.S.E. Linux. Oder war das noch vi? So irgendwie habe ich das Tool über die Jahre dann hinter mir...

Server löschen mit Darik´s Boot and Nuke

Da ich derzeit meinen Abteilungsdurchlauf bei Netways Managed Services mache, übernehme ich heute den wöchentlichen Post. Ich dachte mir, da ich derzeit viele Server lösche und aus dem Rechenzentrum ausbaue, wäre es ein gutes Thema über das sichere löschen von Servern...

i-doit API Ruby-Scripting

Wie in meinem letzten Blogpost angekündigt stelle ich heute eine gescriptete Variante für die API der i-doit CMDB vor. Einzelne Abfragen, sowie das Anlegen von Objekten über den RESTClient mögen auf den ersten Blick zum Testen bzw. Debuggen  ziemlich sinnvoll...

Happy Birthday NWS!

Es begann, wie so oft bei großen Dingen, in kleiner Runde. DevOpsDays 2015 in Ghent: Man sitzt zusammen, unterhält sich, lässt den Gedanken freien Lauf und plötzlich beginnen sie sich zu formen. In diesem Fall nehmen sie die Form einer Plattform an. Die NWS-Idee ist...